![](/img/trans.png)
[英]How do I get the Reflection TypeInfo of a C# 9 program that use Top-level statements?
[英]What are top level statements in C#? What is their use?
我刚刚创建了我的第一个 .NET 6 控制台应用程序,而不是默认的,
using System;
using System.Collections.Generic;
using System.Linq;
namespace MyApp
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
我有:
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
即使没有 class,程序也会运行,我查看了评论中提供的链接。 但我不知道这是新功能还是旧功能,如果这是新功能? 这是否意味着 C# 以后将允许 C 风格的编程?
这是 C# 9 或 10 的新功能。Microsoft 文档说明如下:
通过将程序的入口点放在 class 中的 static 方法中,顶级语句使您能够避免所需的额外仪式。 新控制台应用程序的典型起点类似于以下代码:
using System;
namespace Application
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
上述代码是运行 dotnet new console 命令并创建新控制台应用程序的结果。 这 11 行只包含一行可执行代码。 您可以使用新的顶级语句功能简化该程序。 这使您可以删除该程序中除两行之外的所有行:
Console.WriteLine("Hello, World!");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.