私は私の変数sum
に1
を追加しようとしていますが、コンパイラがなぜこのif文の中で変数を使用できないのですか?
変数
sum
言いますが、私のif文の内部で割り当てられていない
です。私はそれを移動しようとしましたが、私が何をしても変数はまだ割り当てられていません。
static void Main()
{
int sum;
if(true)
{
sum += 1;
}
Console.Write(sum);
Console.ReadKey();
}
私のコードを変更してこのエラーを修正し、コンパイラが不平を言わないようにするにはどうすればよいですか? sum
に値が割り当てられるまで、それをある何定義された値を持っていない、あなたのコード
static void Main()
{
int sum = 0;
if(true)
{
sum += 1;
}
Console.Write(sum);
Console.ReadKey();
}
が考えるに
int sum = 0; //or any other value
:
'sum'は_declared_で、_defined_ではありません - ループの外側に移動し、' int sum = 0; 'に変更します。 'result'の_declaration_もループから外してください –
「未定義」とは言わず、「未割り当て」です*。それに値を割り当てます: 'int sum = 0;'エラーメッセージを注意深く読んでください。それはあなたに問題を伝えるものです。 – David
''未定義/ヌル+整数 'とは何ですか? – Jodrell