CultureInfo und Boolean.ToString()
-
Hallo Leute,
hab mal folgendes gemacht:
bool t = true; Console.WriteLine(t.ToString()); foreach(var it in CultureInfo.GetCultures(CultureTypes.AllCultures)) { try { Console.WriteLine(t.ToString(it)); } catch { Console.WriteLine("error '"+it+"'"); } }
Und mit is aufgefallen, das egal welche Culture, der bool Wert immer als "true" "false" string ausgegeben wird. Ich dachte das in der deutschen Kultur ein "wahr" /"falsch" rauskommen würde... is das hier absicht'?
grüße
-
NullBockExcpetion schrieb:
is das hier absicht'?
grüßeJa! sie übersetzen dir nicht alle sprach-inhalte in deine sprache. das ist für so sachen gedacht, wie wenn du eine float eingabe vom nutzer haben willst und amis schreiben das mit . und deutsche mit , !
-
ich finde es schwachsinnig das das ToString() des bool eine IFormatProvider Überladung hat ^^
Wenn man sich nämlich die interne Implementation an schaut, dann sieht man:public override string ToString() { if (!this) { return "False"; } return "True"; } public string ToString(IFormatProvider provider) { if (!this) { return "False"; } return "True"; }
Herrlich, ist nicht einmal weiter delegiert