static int Main(string[] args)
{
Guid obj = Guid.NewGuid();
Console.WriteLine("New Guid is " + obj.ToString());
Console.ReadLine();
return -1;
}
有人可以告诉我为什么return -1
在这里被使用了,它意味着什么?
答案 0 :(得分:4)
Main
方法可以返回void
:
static void Main()
{
//...
}
它还可以返回int
:
static int Main()
{
//...
return 0;
}
如果未使用Main
的返回值,则返回void可以使代码稍微简单。
但是,返回integer
可使程序与状态信息进行通信调用可执行文件的其他程序或脚本
阅读更多here。
答案 1 :(得分:2)
我当然无法告诉你为什么选择了-1,但一般来说,这个返回值会被发送到调用应用程序。它被称为退出代码。他们现在通常不会在应用程序中使用它们,因为它们实际上没用,但是在白天 - 实际上仍然在这种情况下 - 它们被用来传达成功或失败(或其他)控制台应用程序。
例如,我可能编写一个进行网络调用的程序,如果调用成功,则返回0
,如果没有安装NIC,则随机返回12
。这样,如果其他一些程序正在使用我的EXE,它可以理解调用是否成功,而不必不可靠地解析一些输出流。
大多数现代应用程序都具有static void Main
个功能,因为此工作流程在大多数情况下对最终用户并不有用。我们现在使用GUI来炫耀"执行期间出错。"这并不是说它们在某些情况下不是很有用,显然,原因与以前一样,但是如果你开始一个程序,结果一般都没有被捕获。双击一个图标,因此在大多数情况下它会被丢弃。
答案 2 :(得分:0)
main的返回值是程序的退出代码。呼叫者可以检查并对其做出反应。在Windows上,常见模式是在程序成功时使用0,在错误条件下使用不同的正整数。