检查可空的bool是否为null
可能重复:
首选:Nullable 。HasValue或Nullable == null?
我知道有很多次问这样的问题。 但我从来没有找到如何检查可空的bool是否为null的答案。 以下是我对此的回答:
bool? nullableBool; if (nullableBool == true){ }else if (nullableBool == false){ }else{ }
但是我想知道是否有更好更直接的方法来减少无用的代码? 谢谢。
if (!nullableBool.HasValue) { // null }
您也可以直接将其与null
进行比较。
编辑:
你的nullableBool
声明应该是:
bool? nullableBool;
这不是一个可以为空的bool
,它是一个未分配的bool
,你的代码将无法编译。 你需要用bool?
或者Nullable
。
bool? nullableBool = null; // or = true or = false if (nullableBool.HasValue) { if (nullableBool.Value) // true else // false } else // null
首先,你使用的bool不可空。 要创建一个可以为空的bool,您可以执行以下操作:
Nullable nullableBool;
或速记版本:
bool? nullableBool;
然后可以使用以下方法检查其中任何一个以查看它是否具有值:
if(nullableBool.HasValue) { //nullableBool has been assigned a value }
不建议您使用当前的方法。 如果你需要一个可以为空的状态,那么使用一个可以为空的bool。 如果您想使用标准bool,请务必为其分配值。 我很惊讶你没有在Visual Studio中使用该代码获得编译错误。
试试这个plz:
上述就是C#学习教程:检查可空的bool是否为null分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
if (!nullableBool.HasValue) { // your code }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/955229.html