多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Main() 返回值(C# 编程指南) Main 方法可以返回 **void**: ``` static void Main() { //... } ``` 它还可以返回 **int**: ``` static int Main() { //... return 0; } ``` 如果不使用 Main 的返回值,则返回 **void** 可以稍微简化代码。但是,如果返回整数,则程序可以与调用该可执行文件的其他程序或脚本交流状态信息。下面的示例演示如何访问 Main 的返回值。 此示例使用一个批处理文件来运行程序,并测试 Main 函数的返回值。在 Windows 中执行程序时,Main 函数返回的任何值都将存储在名为 ERRORLEVEL 的环境变量中。通过检查 ERRORLEVEL 变量,批处理文件可以确定执行结果。通常,返回值为零指示执行成功。下面是一个简单程序示例,从 Main 函数返回零。零指示程序成功运行。请将该程序保存为 MainReturnValTest.cs。 ``` // Save this program as MainReturnValTest.cs. class MainReturnValTest { static int Main() { //... return 0; } } ``` 此示例使用了批处理文件,因此最好在命令提示中编译这段代码。请按照[How to: Set Environment Variables for the Visual Studio Command Line](https://msdn.microsoft.com/zh-cn/library/1700bbwd.aspx)中的说明启用命令行生成,或者使用 Visual Studio 命令提示(可通过**“开始”**菜单中的**“Visual Studio Tools”**访问)。在命令提示符下,定位到保存程序的文件夹。下面的命令编译 MainReturnValTest.cs,生成可执行文件 MainReturnValTest.exe。 csc MainReturnValTest.cs 接下来,创建一个批处理文件,运行 MainReturnValTest.exe 并显示结果。将下面的代码粘贴到文本文件中,将该文件另存为 test.bat,保存到包含 MainReturnValTest.cs 和 MainReturnValTest.exe 的文件夹中。在命令提示符下,键入 test,运行该批处理文件。 因为代码返回零,所以该批处理文件会报告成功。但是,如果将 MainReturnValTest.cs 更改为返回非零值,然后重新编译程序,则批处理文件的后续执行将报告失败。 ``` rem test.bat @echo off MainReturnValTest @if "%ERRORLEVEL%" == "0" goto good :fail echo Execution Failed echo return value = %ERRORLEVEL% goto end :good echo Execution succeeded echo Return value = %ERRORLEVEL% goto end :end ``` ## 示例输出 Execution succeeded Return value = 0 ## 请参阅 [C# 编程指南](https://msdn.microsoft.com/zh-cn/library/67ef8sbd.aspx) [C# 参考](https://msdn.microsoft.com/zh-cn/library/618ayhy6.aspx) [Main() 和命令行参数(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/acy3edy3.aspx) [如何:显示命令行参数(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/96s74eb0.aspx) [如何:使用 foreach 访问命令行参数(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/kztbsa4b.aspx)