本文へスキップ
BecomeCoder

C#のエラー · エラー9

CS0161: すべてのコードパスが値を返さない(コンパイル)

戻り値のあるメソッドで、条件分岐のどれにも当てはまらないと return に到達しないパスができ、出ます。

出るコード

int Sign(int n)
{
    if (n > 0) return 1;
    if (n < 0) return -1;
    // n == 0 のときの return が無い
}

エラーメッセージ

error CS0161: 'Sign(int)': コードのすべてのパスが値を返すわけではありません

直し方

すべての分岐に return を書くか、末尾に既定値の return を足します(return 0;)。