Warum Boolean.ToString() „True“ und nicht „true“ zurückgibt
Die Methode Boolean.ToString() in .NET gibt zurück entweder „True“ oder „False“, basierend auf dem Wert des booleschen Objekts. Der Grund für diese Großschreibung ist unklar und ist seit vielen Jahren Gegenstand von Spekulationen.
MSDN-Erklärung
Laut MSDN gibt Boolean.ToString() Konstanten zurück „ „True“ oder „False“ anstelle der Felder „TrueString“ oder „FalseString“. Dies liegt daran, dass bei XML die Groß-/Kleinschreibung beachtet wird und die XML-Spezifikation „true“ und „false“ als gültige boolesche Werte erkennt. MSDN empfiehlt, die zurückgegebene Zeichenfolge mit der Methode String.ToLower() in Kleinbuchstaben umzuwandeln, bevor sie in eine XML-Datei geschrieben wird.
Hacky Solutions
Aufgrund dieser Großschreibung gibt es Möglicherweise handelt es sich um Szenarien, in denen der zurückgegebene Wert nicht mit Kontexten kompatibel ist, bei denen Kleinschreibung beachtet wird. Eine knifflige Lösung für dieses Problem besteht darin, eine Erweiterungsmethode zu erstellen, die den booleschen Wert für bestimmte Anwendungsfälle, wie etwa XML, in Kleinbuchstaben umwandelt. Zum Beispiel:
internal static string ToXmlString(this bool b) { return b.ToString().ToLower(); }
Diese Methode fügt dem Stapel eine neue Funktion hinzu, macht aber die manuelle Konvertierung der Zeichenfolge an mehreren Stellen in Kleinbuchstaben überflüssig.
Alternative Methode
Die Methode Boolean.ToString(IFormatProvider) existiert ebenfalls, aber im Abschnitt „Bemerkungen“ heißt es, dass der Parameter „IFormatProvider“ nicht an der Methode beteiligt ist Ausführung der Methode und spiegelt nicht kulturspezifische Einstellungen wider. Daher bietet diese alternative Methode keine Anpassungsmöglichkeiten.
Das obige ist der detaillierte Inhalt vonWarum gibt „Boolean.ToString()' „True' und „False' anstelle von „true' und „false' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!