ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Main() 和命令行参数(C# 编程指南) **Main**方法是 C# 控制台应用程序或窗口应用程序的入口点。(库和服务不要求将 **Main** 方法作为入口点。)应用程序启动时,**Main** 方法是第一个调用的方法。 C# 程序中只能有一个入口点。如果您有多个类都包含 **Main** 方法,则必须使用 **/main** 编译器选项编译您的程序,以指定用作入口点的 **Main** 方法。有关更多信息,请参见[/main (C# Compiler Options)](https://msdn.microsoft.com/zh-cn/library/x3eht538.aspx)。 ``` class TestClass { static void Main(string[] args) { // Display the number of command line arguments: System.Console.WriteLine(args.Length); } } ``` ## 概述 * **Main** 方法是 .exe 程序的入口点,程序控制流在该处开始和结束。 * **Main** 在类或结构内声明。 **Main** 必须是 [静态](https://msdn.microsoft.com/zh-cn/library/98f28cdx.aspx),且不应该是 [公开](https://msdn.microsoft.com/zh-cn/library/yzh058ae.aspx)。(在前面的示例中,它接受默认访问级别 [private](https://msdn.microsoft.com/zh-cn/library/st6sy9xe.aspx)。)但不要求封闭类或结构是静态的。 * **Main** 的返回类型有两种:**void** 或 **int**。 * 所声明的 **Main** 方法可以具有包含命令行实参的 string[] 形参,也可以不具有这样的形参。使用 Visual Studio 创建 Windows 窗体应用程序时,可以手动添加形参,也可以使用 [Environment](https://msdn.microsoft.com/zh-cn/library/system.environment.aspx) 类获取命令行实参。形参读取为零索引的命令行参数。与 C 和 C++ 不同,程序的名称视为第一个命令行参数。 ## 本节内容 * [命令行参数(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/cb20e19t.aspx) * [如何:显示命令行参数(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/96s74eb0.aspx) * [如何:使用 foreach 访问命令行参数(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/kztbsa4b.aspx) * [Main() 返回值(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/0fwzzxz2.aspx) ## C# 语言规范 有关详细信息,请参阅 [C# 语言规范](https://msdn.microsoft.com/zh-cn/library/ms228593.aspx)。该语言规范是 C# 语法和用法的权威资料。 ## 请参阅 [Command-line Building With csc.exe](https://msdn.microsoft.com/zh-cn/library/78f4aasd.aspx) [C# 编程指南](https://msdn.microsoft.com/zh-cn/library/67ef8sbd.aspx) [方法(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/ms173114.aspx) [在 C# 程序内部](https://msdn.microsoft.com/zh-cn/library/0cs3416d.aspx) [<paveover>C# Sample Applications](https://msdn.microsoft.com/zh-cn/library/z9hsy596.aspx)