boolean(bool
)不能为null.和:
bool foo; if(foo){} // Use of unassigned local variable 'foo'
Run Code Online (Sandbox Code Playgroud)
为什么默认值不是假的?那么如果它不是null,它的值是多少?是什么原因?
编辑1 - 默认值确实为false - 但是应该初始化所有变量,为什么?这是另一个问题;)
编辑2 - 与Resharper:private bool foo = false; // Initializing field by default value is redundant
???
Des*_*tor 83
http://msdn.microsoft.com/en-us/library/83fhsxwc.aspx
请记住,不允许在C#中使用未初始化的变量.
同
bool foo = new bool();
Run Code Online (Sandbox Code Playgroud)
foo将具有默认值.
布尔默认值为false
Has*_*him 22
基本上局部变量不会自动初始化.因此,在不初始化的情况下使用它们会导致异常.
只有以下变量自动初始化为其默认值:
默认值如下(在类的默认构造函数中指定):
至于你问题的后面部分是如何:
默认值确实为false.
但是,您不能使用局部变量,因为它尚未首先分配.
您可以使用default关键字来验证:
bool foo = default(bool);
if (!foo) { Console.WriteLine("Default is false"); }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
95591 次 |
最近记录: |