[英]Cast to bool nullable of null value VS default value of bool nullable
[英]Cast nullable bool to bool
我有一个对象AlternateName.IsMaidenName
我想把它转换成一个复选框--IsMaidenName
它不会让我按照它所说的无法转换源类型可以为目标类型bool。
我在我们的应用程序中的其他位置遇到过这个问题但是我想把它扔出去以便更好地处理这些问题。
IsMaidenNameChecked = AlternateName.IsMaidenName;
你不能将一个可空的bool强制转换为bool是合乎逻辑的,因为当nullable包含null时,bool应该有什么值?
我会做的是这样的:
IsMaidenNameChecked = AlternateName.IsMaidenName ?? false;
IsMaidenName.Checked = AlternateName.IsMaidenName.GetValueOrDefault();
请参阅: http : //msdn.microsoft.com/en-us/library/72cec0e0.aspx
你可能想做类似的事情:
IsMaidenNameChecked = AlternateName.IsMaidenName.GetValueOrDefault ();
请参阅Nullable.GetValueOrDefault() ,或者您可以使用包含显式默认值的重载。
复选框和Nullable<bool>
都有三种状态:“true”,“false”和“missing”。
但是你试图将值存储在一个无法处理“丢失”的中间bool
变量中。
尝试将bool
变量更改为bool?
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.