簡體   English   中英

鑄造可空的布爾到布爾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM