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???
该代码为何起作用:
if (list?.Any() == true)
Run Code Online (Sandbox Code Playgroud)
但是这段代码没有:
if (list?.Any())
Run Code Online (Sandbox Code Playgroud)
说错误CS0266无法隐式转换类型“布尔”?“布尔”
那么,为什么不是语言功能在if语句中进行这种隐式转换呢?