为什么可空的布尔值不能与简写的if(boolean)进行比较

本文关键字:boolean if 比较 布尔值 不能 为什么 | 更新日期: 2023-09-27 18:06:41

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

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

但不像这样:

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

为什么可空的布尔值不能与简写的if(boolean)进行比较

c#中的if语句只能接受bool参数

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

如果你知道你的bool?有一个值,你可以使用:

if (test.Value)
    //do something