2016-12-10 3 views
2

私はいつも、ボイドとは異なる方法は関係なく、我々は例興味深いコードスニペット

private int Foo() 
    { 
     while (true) 
     { 

     } 
    } 

のためにこれを持っている場合しかし、ここには、コンパイル時のエラーはありませんどのような値を返さないしなければならないと思っていると私はそれがあるためだと思いますループは無限です。C#は値を返さずに終了しないことを保証できます。私は正しいですか?

答えて

0

エンドポイントがreachableの非空白関数のみが値を返す必要があります。

詳細については、this answer(Eric Lippert)を参照してください。

2

はい、関数が永遠に実行される場合、戻り値は冗長であるため、コンパイラは無視します。

関連する問題