これはばかげた質問かもしれませんが、誰かにもっと良い説明をしてもらいたいだけです。
私は以下のように定義されたメソッドを持っています:
private int Test(int i)
{
if (i < 0) return -1;
if (i == 0) return 0;
if (i > 0) return 1;
//return 0;
}
「すべてのコードパスが値を返すわけではありません」というエラーが表示されます。
if statement
すべてのシナリオ(i <0、i == 0、i> 0)をカバーできる3つあると思いました。したがって、このエラーは表示されないはずです。
コンパイラはそれほど賢くはありません。また、コードは確実性をテストするという点で少し非効率的です(i
最後のケースではゼロより大きくなければなりません)。
次のように記述します。
private int Test(int i)
{
if (i < 0) return -1;
else if (i == 0) return 0;
else return 1;
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加