为什么我不能在if语句中使用我的变量?

Kri*_*sen 2 .net c# winforms

我正在尝试添加1到我的变量,sum但编译器说

变量sum未分配

在我的if语句中.我试过移动它,但无论我做什么,变量仍然是未分配的.

static void Main()
{
    int sum;

    if(true)
    {
        sum += 1;
    }

    Console.Write(sum);
    Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud)

如何更改我的代码来修复此错误并停止编译器抱怨?

Ash*_*ani 10

变量sum必须具有初始值:

int sum = 0; //or any other value
Run Code Online (Sandbox Code Playgroud)

在你的代码中

static void Main()
{
    int sum = 0;

    if(true)
    {
        sum += 1;
    }

    Console.Write(sum);
    Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud)

想想,直到sum分配了一个值,没有定义的值,它是未定义的.结果会是什么?

undefined + 1
Run Code Online (Sandbox Code Playgroud)

是的,编译器不能知道如此引发错误并停止编译.