「すべてのコードパスが値を返すわけではありません」エラーがメソッドで発生しますが、すべてのシナリオをカバーするためにいくつかのifステートメントを使用しました

イワンヤン|

これはばかげた質問かもしれませんが、誰かにもっと良い説明をしてもらいたいだけです。

私は以下のように定義されたメソッドを持っています:

    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]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ