为什么这个静态bool不需要初始化?

pus*_*ser 4 c# boolean initialization

如果你调用checkBool,它将始终返回"为什么这不会失败"

为什么这样,你为什么不需要初始化_bool?

public sealed class falsefalse
{
    private static bool _bool;
    public static string checkBool()
    {
        if (!_bool)
            return "why does this not fail";
        else return "";
    }
}
Run Code Online (Sandbox Code Playgroud)

Ser*_*kiy 5

如果您没有显式初始化它们,则类的字段具有其默认值.类型的默认值boolfalse.参见C#规范10.4.4字段初始化:

字段的初始值(无论是静态字段还是实例字段)是字段类型的默认值(第5.2节).

看一下默认值表(C#参考)