Jak: bezpečně nádech z bool? k bool (C# program televize)
bool? Typ s možnou hodnotou Null může obsahovat tři různé hodnoty: true, false, a null.Proto bool? typu nelze použít v podmíněné jako s if, for, nebo while.Následující kód například způsobí chybu kompilátoru.
bool? b = null;
if (b) // Error CS0266.
{
}
To není povoleno, protože nejasná co null znamená v souvislosti se podmínka.Použití bool? v podmíněného příkazu zkontrolujte, zda jeho HasValue zajistit, že její hodnota není vlastnost nulla potom odevzdaných na bool.Další informace naleznete v tématu bool.Pokud provádíte tavby na bool? s hodnotou null, InvalidOperationException bude vyvolána při zkoušce podmíněné.Následující příklad ukazuje jeden způsob, jak bezpečně nádech z bool? na bool:
Příklad
bool? test = null;
...// Other code that may or may not
// give a value to test.
if(!test.HasValue) //check for a value
{
// Assume that IsInitialized
// returns either true or false.
test = IsInitialized();
}
if((bool)test) //now this cast is safe
{
// Do something.
}
Viz také
Referenční dokumentace
Literál klíčová slova (C#-Reference)
Typy s možnou hodnotou Null (Příručka programování C#)