我一直认为一个不同于void的方法必须返回一个值,但是如果我们有这个例子的话
private int Foo()
{
while (true)
{
}
}这里没有编译时错误,我认为这是因为循环是无限的,C#可以保证它不会在不返回值的情况下终止。我说得对吗?
发布于 2016-12-10 23:08:03
只有具有reachable端点的非空函数才能返回值.
有关更多信息,请查看Eric的this answer。
发布于 2016-12-10 22:59:46
是的,如果函数将永远运行,则返回值是多余的,因此编译器只需忽略它。
https://stackoverflow.com/questions/41081184
复制相似问题