笨拙;与bool booly = false相同;何时宣布?

时间:2019-04-15 22:37:57

标签: c#

两者之间在功能上有什么区别吗?

bool boolean;

和:

bool boolean = false;

4 个答案:

答案 0 :(得分:3)

这取决于。

如果它是局部变量,则有所不同,因为在第一行中,该变量未初始化,并且如果您尝试使用它,它将不会编译。

如果它是类中的私有字段,则不会,没有区别,因为在C#中字段会自动初始化为其默认值。 Boolean的默认值为false

答案 1 :(得分:0)

有区别。

实际上,如果您尝试编译使用的未分配变量,则会出现编译器错误。

答案 2 :(得分:0)

否,如果未为布尔值分配值,则默认值为false。 这是a link,其中包含更多信息。

答案 3 :(得分:-1)

如果您尝试使用未分配的变量,则C#将给您一个编译器错误:

  

使用未分配的局部变量'boolean'

它仅适用于字段,因为C#会生成一个默认构造函数,将该构造函数初始化为default(bool),并且bool的默认值为false。

您可以让自动初始化程序为您设置它。尽管没有必要,但出于语义目的,在某些情况下也可以使其明确。