![](/img/trans.png)
[英]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.