欢迎来到Introzo百科
Introzo百科
当前位置:网站首页 > 技术 > .Net 7 托管Main入口的四种写法(茴香豆?)

.Net 7 托管Main入口的四种写法(茴香豆?)

日期:2023-09-15 17:52

前言: 按照CLR的规则,C#托管Main入口其实有四种写法。 写法 第一种:最常见的,也是VS默认的,返回值void,带一个参数 static void Main(string[] args) {Console.Write("Tian xia feng yun chu wo bei");Console.ReadLine(); } 第二种:返回值void,不带参数 static void Main() {Console.Write("Tian xia feng yun chu wo bei");Console.ReadLine(); } 第三种:返回值int,带一个参数 static int Main(string []args) {Console.Write("Tian xia feng yun chu wo bei");Console.ReadLine();return 0; } 第四种:返回值Int,不带参数 static int Main() {Console.Write("Tian xia feng yun chu wo bei");Console.ReadLine();return 0; } 原理 这四种类型,根据CLR的规则演变 enum CorEntryPointType {EntryManagedMain, // void main(String[])EntryCrtMain // unsigned main(void) }; 看到,CLR定义托管Main入口的返回值两种类型:void和unsigned(int)。 参数也有两种类型:void和String[]。 把这些规则两两组合,就成了托管Main入口的所有种类。 同时也要注意的是,它这个Main的参数不能超过一个,要么0个,要么1个。多了的话,它直接报错了。这个规则也是CLR定义的。 if (nParamCount != 1)ThrowMainMethodException(pFD, IDS_EE_TO_MANY_ARGUMENTS_IN_MAIN); 通过CLR的这些规则,控制C#代码的运作。 结尾 作者:江湖评谈

关灯