2011-02-17 10 views

cevap

28

, hangi değer bool olmalıdır, çünkü bir bool bir null bool döküm olamaz oldukça mantıklı, null null içeriyorsa? Muhtemelen böyle bir şey yapmak istiyorum

IsMaidenNameChecked = AlternateName.IsMaidenName ?? false; 
+0

bu güzel. Bunu daha da iyi seviyorum :-) –

+0

Aşağıdaki ipucunu (GetValueOrDefault();) kullanmıştım ama bu biraz daha iyi görünüyor ... her ikisi de işe yaradı ... yardım için teşekkürler – gevjen

1

Onay kutuları ve Nullable<bool> hem üç durumda olabilir: "true" "yanlış" ve "eksik".

Ancak değeri "eksik" işlemek için hiçbir yolu olmayan bir ara bool değişkeninde depolamaya çalışıyorsunuz.

değişkeninizi de bool? olarak değiştirmeyi deneyin.

17
IsMaidenName.Checked = AlternateName.IsMaidenName.GetValueOrDefault(); 

Bkz: http://msdn.microsoft.com/en-us/library/72cec0e0.aspx

+1

Eklenen uyarı ile .NET'de boole için varsayılan değer "false" - http://msdn.microsoft.com/en-us/library/83fhsxwc.aspx –

+1

Bir [aşırı yük] olduğunu unutmayın. (http://msdn.microsoft.com/en-us/library/3d6d4f1d(v=vs.110).aspx) - 'GetValueOrDefault (true)' diyebilirsiniz, yani, geri dönmek için varsayılan değeri belirtin boş durum. Yani 'yanlış' döndürmekle sınırlı değilsiniz. – David

5

:

IsMaidenNameChecked = AlternateName.IsMaidenName.GetValueOrDefault(); 

Nullable.GetValueOrDefault() Bkz veya açık bir varsayılan içeren aşırı kullanabilirsiniz Ben ne yapardım

, bu.

İlgili konular