需要一个且仅有一个的static void Main(string[] args)函数,大小写敏感,参数可以不要,返回值可以是int或者void,不管在哪个类中声明都可以,权限也默认就好
C#如果有全局语句的话,入口就是全局语句,这时Main函数就会被忽略,全局语句必须在(所在文件的)所有命名空间和类型定义之前,数量也只能有一处(同一个程序集所有文件内只能有一处,因为就一个程序入口,是连续的一段,可以有很多行),多了也会冲突,要注意的是全局语句是指逻辑语句,不能声明变量或者定义函数,因为C#没有全局变量或全局函数。
using System; using System.Diagnostics; Console.WriteLine("Main"); MainProgram.Start(); // 调用在定义之前也是可以的 class MainProgram { static public void Start() { Console.WriteLine("Start"); } }
想法:对比一下各个语言调用函数的顺序要求:
所以C#在全局语句中,可以调用在本文件内定义的其他函数,即使定义在调用之后(因为全局语句要在文件最前面)