C# 程序由一个或多个文件组成。 每个文件均包含零个或多个命名空间。 一个命名空间包含类、结构、接口、枚举、委托等类型或其他命名空间。 以下示例是包含所有这些元素的 C# 程序主干。
主要包括 1.引用 通常为 using +具体的命名空间。 2. 命名空间 namespace 你的命名空间 {} 3.第三个就是在命名空间内部编写你的代码。代码包括 类,结构体,接口 ,委托,枚举等等。具体如下,微软官网的示范类:
// A skeleton of a C# program using System; namespace YourNamespace { class YourClass { } struct YourStruct { } interface IYourInterface { } delegate int YourDelegate(); enum YourEnum { } namespace YourNestedNamespace { struct YourStruct { } } class Program { static void Main(string[] args) { //Your program starts here... Console.WriteLine("Hello world!"); } } }
这里可以看出C#程序需要有一个 静态 Main函数,程序也是从 main函数开始。 初学编程一般最先开始了解C语言,不由得想起,老师经常说过的一句话 ,C语言程序执行由本程序main函数开始到mian函数结束,C#包括java也是这样。
但是在C# 9 开始,引入顶级语句,改变了传统编码方式,不再需要显示写出 main函数。
顶级语句允许将Class的定义和主函数Main的声明省略掉,只写出你的核心业务代码,就成了顶级语句,查看微软官网示范类:这里在using引用后面,命名空间上面,直接输出 “Hello world” ;程序先执行顶级语句。
// A skeleton of a C# program using System; // Your program starts here: Console.WriteLine("Hello world!"); namespace YourNamespace { class YourClass { } struct YourStruct { } interface IYourInterface { } delegate int YourDelegate(); enum YourEnum { } namespace YourNestedNamespace { struct YourStruct { } } }
当然需要注意的是,不需要显示写出main函数,并不意味着,没有main函数了,只是 编译器会 为主程序生成命名空间、类和方法元素。
顶级语句的使用规则
-
顶级语句必须放在using语句代码后面
-
顶级语句必须用在任何类型或者命名空间声明的前面
-
顶级语句只能写在一个源代码文件里,像如今只能写一个main方法一样,有且只能有一个。
-
顶级语句中定义的本地函数和变量,在顶级代码段外部的任何地方调用他们都会产生错误。