我在. net中有一个简单的控制台应用程序。这只是一个更大应用程序的测试部分。我想指定控制台应用程序的“退出代码”。我怎么做呢?
当前回答
作为斯科特·门罗回答的更新:
在c# 6.0和VB中。NET 14.0 (Visual Studio 2015),或环境。ExitCode或Environment.Exit(ExitCode)用于从控制台应用程序返回非零代码。改变Main的返回类型没有效果。 在f# 4.0 (Visual Studio 2015)中,主入口点的返回值被尊重。
其他回答
int code = 2;
Environment.Exit( code );
三个选项:
如果你声明Main方法返回int,你可以从Main返回它。 您可以调用Environment.Exit(code)。 您可以使用属性设置退出代码:Environment。ExitCode = -1;。如果没有其他设置返回代码或使用上面的其他选项之一,将使用此选项)。
根据您的应用程序(控制台、服务、web应用程序等),可以使用不同的方法。
换一种说法:
public static class ApplicationExitCodes
{
public static readonly int Failure = 1;
public static readonly int Success = 0;
}
作为斯科特·门罗回答的更新:
在c# 6.0和VB中。NET 14.0 (Visual Studio 2015),或环境。ExitCode或Environment.Exit(ExitCode)用于从控制台应用程序返回非零代码。改变Main的返回类型没有效果。 在f# 4.0 (Visual Studio 2015)中,主入口点的返回值被尊重。
除了包含返回int的答案之外…这是对理智的恳求。请,请在枚举中定义您的退出代码,如果合适的话,请标记。它使调试和维护变得更加容易(而且,作为奖励,您可以轻松地在帮助屏幕上打印出退出代码——您确实有一个退出代码,对吧?)
enum ExitCode : int {
Success = 0,
InvalidLogin = 1,
InvalidFilename = 2,
UnknownError = 10
}
int Main(string[] args) {
return (int)ExitCode.Success;
}
推荐文章
- 在c#中从URI字符串获取文件名
- 检查SqlDataReader对象中的列名
- 如何将类标记为已弃用?
- c# 8支持。net框架吗?
- Linq-to-Entities Join vs GroupJoin
- 为什么字符串类型的默认值是null而不是空字符串?
- 在list中获取不同值的列表
- 组合框:向项目添加文本和值(无绑定源)
- AutoMapper:“忽略剩下的?”
- 如何为ASP.net/C#应用程序配置文件值中的值添加&号
- 从System.Drawing.Bitmap中加载WPF BitmapImage
- 如何找出一个文件存在于c# / .NET?
- 为什么更快地检查字典是否包含键,而不是捕捉异常,以防它不?
- [DataContract]的命名空间
- string. isnullorempty (string) vs. string. isnullowhitespace (string)