【问题标题】:Interesting code snippet [duplicate]有趣的代码片段[重复]
【发布时间】:2017-04-26 03:47:26
【问题描述】:

我一直认为与 void 不同的方法无论如何都必须返回一个值,但是如果我们有这个例子

    private int Foo()
    {
        while (true)
        {

        }
    }

这里没有编译时错误,我认为这是因为循环是无限的 C# 可以保证它不会在不返回值的情况下终止。我说的对吗?

【问题讨论】:

    标签: c# function methods compiler-errors return


    【解决方案1】:

    是的,如果函数要永远运行,返回值是多余的,所以编译器会忽略它。

    【讨论】:

      【解决方案2】:

      只有具有reachable 端点的非空函数必须返回一个值。

      如需了解更多信息,请查看 Eric Lippert 的 this answer

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        • 2016-01-25
        • 2018-12-06
        • 1970-01-01
        相关资源
        最近更新 更多