C# Main 函数

Main() 和命令行参数

Main 方法是 C# 应用程序的入口点。 (库和服务不要求使用 Main 方法作为入口点)。Main 方法是应用程序启动后调用的第一个方法。

C# 程序中只能有一个入口点 如下示例:

class TestClass { static void Main(string[] args) { // Display the number of command line arguments. Console.WriteLine(args.Length); } }

C# 9 起,可以省略 Main 方法,并像在 Main 方法中一样编写 C# 语句,如下面的示例所示:

using System.Text; StringBuilder builder = new(); builder.AppendLine("Hello"); builder.AppendLine("World!"); Console.WriteLine(builder.ToString());

要点

  • Main 方法是可执行程序的入口点,也是程序控制开始和结束的位置。
  • Main 在类或结构中声明。 Main 必须是 static,它不需要是 public。 (在前面的示例中,它获得的是private成员的默认访问权限)。
  • Main 的返回类型可以是 void、int、TaskTask<int>
  • 当且仅当 Main 返回 TaskTask<int> 时,Main 的声明可包括 async 修饰符。 这明确排除了 async void Main 方法。
  • 使用或不使用包含命令行自变量的 string[] 参数声明 Main 方法都行。 使用 Visual Studio 创建 Windows 应用程序时,可以手动添加此形参,也可以使用 Environment.GetCommandLineArgs() 方法来获取命令行实参。 参数被读取为从零开始编制索引的命令行自变量。 与 CC++ 不同,程序的名称不被视为 args 数组中的第一个命令行实参,但它是 Environment.GetCommandLineArgs() 方法中的第一个元素。

以下列表都是有效的 Main 签名:

public static void Main() { } public static int Main() { } public static void Main(string[] args) { } public static int Main(string[] args) { } public static async Task Main() { } public static async Task<int> Main() { } public static async Task Main(string[] args) { } public static async Task<int> Main(string[] args) { }
鲸之声为您拼命加载中...