为什么可以为空的布尔值与速记if(boolean)不可比?

时间:2013-03-30 12:35:08

标签: c#

为什么我可以像这样比较C#中的可空布尔值:

bool? test = true;
if (test==true)
   //do somethign

但不是这样的:

bool? test = true;
if (test)
   //do somethign

1 个答案:

答案 0 :(得分:0)

C#中的if语句只能使用bool参数。

Nullable<bool>bool不同,null既不是true也不是false

如果您知道bool?有值,则可以使用:

if (test.Value)
    //do something