两者之间在功能上有什么区别吗?
bool boolean;
和:
bool boolean = false;
?
答案 0 :(得分:3)
如果它是局部变量,则有所不同,因为在第一行中,该变量未初始化,并且如果您尝试使用它,它将不会编译。
如果它是类中的私有字段,则不会,没有区别,因为在C#中字段会自动初始化为其默认值。 Boolean
的默认值为false
。
答案 1 :(得分:0)
有区别。
实际上,如果您尝试编译使用的未分配变量,则会出现编译器错误。
答案 2 :(得分:0)
否,如果未为布尔值分配值,则默认值为false。 这是a link,其中包含更多信息。
答案 3 :(得分:-1)
如果您尝试使用未分配的变量,则C#将给您一个编译器错误:
使用未分配的局部变量'boolean'
它仅适用于字段,因为C#会生成一个默认构造函数,将该构造函数初始化为default(bool)
,并且bool的默认值为false。
您可以让自动初始化程序为您设置它。尽管没有必要,但出于语义目的,在某些情况下也可以使其明确。