Main 方法是 C# 应用程序的入口点。 (库和服务不要求使用 Main 方法作为入口点)。Main 方法是应用程序启动后调用的第一个方法。 C# 程序中只能有一个入口点。 如果多个类包含 Main 方法,必须使用 StartupObject 编译器选项来编译程序,以指定将哪个 Main 方法用作入口点。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSGDemoCSG004
{
//https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/main-and-command-args/
public class Program
{
//#csg004-01
//无返回值,不使用args的Main函数
static void Main()
{
//你的代码...
}
}
public class Program2
{
//#csg004-02
//有返回值,使用args的Main函数
//args 数组不能为 null。 因此,无需进行 null 检查即可放心地访问 Length 属性。
//args以字符串数组的形式提供,如下
//若命令行的输入为 myapp.exe a b "c" 则 args 数组的值为 ["a","b","c"]
static int Main(string[] args)
{
return 0;
//在 Windows 中执行程序时,从 Main 函数返回的任何值都存储在环境变量中。
//可使用批处理文件中的 ERRORLEVEL 或 PowerShell 中的 $LastExitCode 来检索此环境变量。
//0指示程序运行成功,而非零值说明程序运行失败。
}
}
public class Program3
{
//#csg004-03
//异步主函数
static async Task<int> Main(string[] args)
{
//异步主函数使你可以在主函数中使用 await 异步操作。
return 0;
}
}
//#csg004-04
//主函数共有8种组合方式
//无返回值,不使用 await: static void Main(string[] args)
//返回值,不使用 await: static int Main(string[] args)
//无返回值,使用 await: static async Task Main(string[] args)
//返回值,使用 await: static async Task<int> Main(string[] args)
//无返回值,不使用 await: static void Main()
//返回值,不使用 await: static int Main()
//无返回值,使用 await: static async Task Main()
//返回值,使用 await: static async Task<int> Main()
}