Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么';在.NET Core 5中没有Program.cs课程吗?_C#_C# 9.0 - Fatal编程技术网

C# 为什么';在.NET Core 5中没有Program.cs课程吗?

C# 为什么';在.NET Core 5中没有Program.cs课程吗?,c#,c#-9.0,C#,C# 9.0,我正在尝试使用.NET5更新我的信息。所以我开始回顾eShopContainers服务和WebApps项目 我读过它的旧版本(2.2和3.1),这是一个丰富的示例,有很多精彩之处。但是在.NET5中,乍一看,在Program.cs中,我看到了很多没有任何类的方法和属性,这些我不理解,让我感到困惑。在cs文件中我们怎么能有没有类的方法呢?这是C#9的一个特性: 顶级声明消除了许多应用程序中不必要的仪式 应用程序中只有一个文件可以使用顶级语句。如果编译器在多个源文件中找到顶级语句,则为错误。如果将顶

我正在尝试使用.NET5更新我的信息。所以我开始回顾eShopContainers服务和WebApps项目

我读过它的旧版本(2.2和3.1),这是一个丰富的示例,有很多精彩之处。但是在.NET5中,乍一看,在
Program.cs
中,我看到了很多没有任何类的方法和属性,这些我不理解,让我感到困惑。在cs文件中我们怎么能有没有类的方法呢?

这是C#9的一个特性:

顶级声明消除了许多应用程序中不必要的仪式

应用程序中只有一个文件可以使用顶级语句。如果编译器在多个源文件中找到顶级语句,则为错误。如果将顶级语句与声明的程序入口点方法(通常是Main方法)相结合,则也是一个错误。从某种意义上说,您可以认为一个文件包含通常在程序类的主方法中的语句

因此,您现在可以编写只包含以下代码行的程序:

System.Console.WriteLine("Hello World!");

哇!所以它来自C#9!真奇怪!谢谢,David,那么我如何在没有类的情况下调用一个方法呢?只要它在同一个文件中,就可以像调用任何其他方法一样调用它。从另一个类调用它怎么样?@Mohammad code编译为名为
$
的内部类,因此如果没有reflectionAh,你就不能在程序中的任何地方使用它,不管怎样,你不应该这么做。