Table of Contents

C#程序入口


Main函数

需要一个且仅有一个的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#在全局语句中,可以调用在本文件内定义的其他函数,即使定义在调用之后(因为全局语句要在文件最前面)