Answers:
3种选择:
Main如果声明Main要返回的方法,则可以从中返回它int。Environment.Exit(code)。Environment.ExitCode = -1;。如果没有其他设置返回代码或使用上述其他选项之一的情况,将使用此方法。根据您的应用程序(控制台,服务,Web应用程序等),可以使用不同的方法。
0表示成功,而非零表示失败。return;通过退出代码指示成功0,并return -1;指示失败。
                    除了回答return int的答案外,还...出于理智。请在枚举中定义您的退出代码,并在适当的地方加上Flags。它使调试和维护变得非常容易(而且,此外,您可以在帮助屏幕上轻松打印出退出代码-您确实有其中之一,对吗?)。
enum ExitCode : int {
  Success = 0,
  InvalidLogin = 1,
  InvalidFilename = 2,
  UnknownError = 10
}
int Main(string[] args) {
   return (int)ExitCode.Success;
}0 = Success是这样的事实:仅需要一个成功代码,但是许多错误代码(例如,计算机整数中没有+或-的0可以用来唯一地标识成功)
                    您可以使用三种方法从控制台应用程序返回退出代码。
Main应用程序中的方法,以使其返回int而不是void(在VB.Net 中返回Integer而不是的函数Sub),然后从该方法返回退出代码。Main方法返回的其他值void(Sub在VB.Net中为),则将忽略此属性的值。应该遵守的一个重要标准是0代表“成功”。
在相关主题上,请考虑使用枚举定义应用程序将要返回的退出代码。该的FlagsAttribute将允许您返回码的组合。
另外,请确保您的应用程序被编译为“控制台应用程序”。
Environment.ExitCode不会立即Environment.Exit关闭程序,但是方法会立即关闭程序
                    Process对象启动,则可以要求该对象访问WaitForExit(),然后向其请求退出代码。
                    如果要使用David建议的方法,还应该查看[Flags]属性。
这使您可以对枚举执行按位操作。
[Flags]
enum ExitCodes : int
{
  Success = 0,
  SignToolNotInPath = 1,
  AssemblyDirectoryBad = 2,
  PFXFilePathBad = 4,
  PasswordMissing = 8,
  SignFailed = 16,
  UnknownError = 32
}然后
(ExitCodes.SignFailed | ExitCodes.UnknownError)将是16 +32。:)
int code = 2;
Environment.Exit( code );System.Environment.ExitCode http://msdn.microsoft.com/zh-CN/library/system.environment.exitcode.aspx
只需从main返回适当的代码即可。
int main(string[] args)
{
      return 0; //or exit code of your choice
}static void Main(string[] args);
                    如果您的主体具有无效的返回签名,请使用ExitCode,否则,您需要通过返回的值对其进行“设置”。
如果Main方法返回void,则可以使用此属性设置将返回到调用环境的退出代码。如果Main不返回void,则将忽略此属性。此属性的初始值为零。
作为Scott Munro 答案的更新:
Main无效。main入口点的返回值。Main()并没有设置Process.ExitCode调用应用程序所看到的。
                    int Main仍然可以用作Environment.ExitCode的替代方法。  链接
                    枚举选项非常好,但是可以通过将数字乘以来改进,如下所示:
enum ExitCodes : int
{
  Success = 0,
  SignToolNotInPath = 1,
  AssemblyDirectoryBad = 2,
  PFXFilePathBad = 4,
  PasswordMissing = 8,
  SignFailed = 16,
  UnknownError = 32
}如果出现多个错误,将特定的错误编号加在一起将为您提供一个唯一的编号,该编号代表检测到的错误的组合。
例如,错误级别6只能由错误4和2组成,12只能由错误4和8组成,14只能由2、4和8等组成。
我的2美分:
您可以在此处找到系统错误代码: https //msdn.microsoft.com/zh-cn/library/windows/desktop/ms681382(v=vs.85).aspx
您会发现典型的代码,例如2代表“找不到文件”或5代表“拒绝访问”。
当您偶然发现未知代码时,可以使用以下命令找出含义:
net helpmsg decimal_code例如
网络帮助信息1
退货
功能不正确