Ich habe eine string
, die entweder "0" oder "1" sein kann, und es ist garantiert, dass es nichts anderes sein wird.
Die Frage ist also: Was ist die beste, einfachste und eleganteste Art, dies in eine umzuwandeln bool
?
c#
type-conversion
Sachin Kainth
quelle
quelle
Antworten:
Ganz einfach:
quelle
Wenn Sie die spezifischen Anforderungen dieser Frage ignorieren und es nie eine gute Idee ist, einen String in einen Bool umzuwandeln , besteht eine Möglichkeit darin, die ToBoolean () -Methode für die Convert-Klasse zu verwenden:
bool val = Convert.ToBoolean("true");
oder eine Erweiterungsmethode, um das seltsame Mapping durchzuführen, das Sie ausführen:
quelle
FormatException
wie Convert.ToBoolean ausgelöst wird .Ich weiß, dass dies Ihre Frage nicht beantwortet, sondern nur anderen Menschen hilft. Wenn Sie versuchen, "wahre" oder "falsche" Zeichenfolgen in Boolesche Werte umzuwandeln:
Versuchen Sie Boolean.Parse
quelle
Oder noch besser, wie in einem Kommentar unten vorgeschlagen:
quelle
x ? true : false
humorvoll.bool b = str.Equals("1")
Funktioniert gut und auf den ersten Blick intuitiver.str
Null ist und Sie möchten, dass Null als False aufgelöst wird.Ich habe etwas etwas erweiterbarer gemacht, indem ich Mohammad Sepahvands Konzept huckepack genommen habe:
quelle
Ich habe den folgenden Code verwendet, um einen String in einen Booleschen Wert zu konvertieren.
quelle
Hier ist mein Versuch, die verzeihendste Konvertierung von Zeichenfolgen in Bools vorzunehmen, die immer noch nützlich ist, und im Grunde nur das erste Zeichen abzutasten.
quelle
quelle
Ich benutze das:
quelle
Ich liebe Erweiterungsmethoden und diese verwende ich ...
Um es dann zu benutzen, mache einfach so etwas wie ...
quelle
Wenn Sie testen möchten, ob eine Zeichenfolge ohne ausgelöste Ausnahmen ein gültiger Boolescher Wert ist, können Sie Folgendes versuchen:
Ausgabe
is Boolean
und die Ausgabe für stringToBool2 lautet: 'ist nicht boolesch'quelle