Ich extrahiere einen bool
Wert aus einer (nicht-generischen, heterogenen) Sammlung.Wie kann ich ein System.Object in C# sicher in einen `bool` umwandeln?
Der as
Operator kann nur mit Referenztypen verwendet werden, so ist es nicht möglich, den Einsatz zu tun as
einen sicheren Guss zu bool
versuchen:
// This does not work: "The as operator must be used with a reference type ('bool' is a value type)"
object rawValue = map.GetValue(key);
bool value = rawValue as bool;
Gibt es etwas ähnliches, die so sicher getan werden kann, ein Objekt auf einen Werttyp ohne Möglichkeit einer InvalidCastException
umwandeln, wenn der Wert aus irgendeinem Grund kein Boolescher Wert ist?
@SLaks: Siehe meine und kalusbyskov Antworten für Alternativen zur Verwendung von zwei Güssen. Nicht dass es wirklich hilft. –