2013-12-16 28 views
7

Istnieje sposób konwertowania wartości boolowskiej na zlokalizowany ciąg. Próbowałem:Jak przekonwertować boolean na zlokalizowany ciąg znaków

var x = true; 

var culture = new CultureInfo("en-US") 
x.ToString(culture) // returns True 

culture = new CultureInfo("pt-BR") 
x.ToString(culture) // returns True, expected Verdadeiro 

Czy powinienem zacząć wpisywać przełącznik teraz, aby zakończyć przed 2020?

+0

Te konwertowane ze stringów na boolean, chcę mieć inny kierunek. –

+0

Zacznij pisać, ponieważ jest to powód, dla którego musisz zainstalować pakiet językowy w systemie Windows, aby móc "zobaczyć" inny język. – Silvermind

+0

cóż, istnieje NumberFormat i kalendarze dla wielu języków, dlaczego nie ciąg boolowski ... –

Odpowiedz

8

Dobrze, zacznij pisać, bo to udokumentowane zachowanie :)

Boolean.toString (IFormatProvider)

Uwagi

Parametr dostawca zastrzeżone. Nie bierze udziału w wykonaniu tej metody. Oznacza to, że metoda Boolean.ToString (IFormatProvider), w przeciwieństwie do większości metod z parametrem dostawcy , nie odzwierciedla ustawień specyficznych dla kultury.

1

Jak zauważył @Michal, jest to udokumentowane zachowanie.

Jeśli twój system obsługuje wiele języków, musisz mieć jakąś obsługę i18. Użyj tego, aby przekonwertować wartość boolowską na ciąg. Możesz dodać taką metodę rozszerzenia, jak:

public string ToLocalizedString(this bool b) 
{ 
    return ...i18n version of true or false... 
}