2016-05-16 12 views
2

Wie kann ich erkennen, dass die Funktion ToUpper() in dieser Zeichenfolge möglich ist? Mit Beispiel, wenn die Sprache der Eingabe keinen Großbuchstaben hat. Ich habe dies:Überprüfen, ob die Großbuchstabenfunktion funktioniert

String text = "لان يقوم غينيا انتصا"; 

Console.WriteLine(text.ToUpper(CultureInfo.CurrentUICulture)); 

und der Ausgang ist: "???? ????? ????"

ich diese Console.WriteLine(text.ToUpper(new CultureInfo("ar"))); versucht, aber das Ergebnis ist das gleiche wie zuvor.

+1

funktioniert 'Console.WriteLine (text)' die Zeichen? Ich dachte, ToUpper ignorierte nicht zugeordnete Zeichen. Mit anderen Worten: Ihr Konsolenfenster enthält möglicherweise nicht die Schriftart oder das Gebietsschema, um diese Zeichenfolge korrekt anzuzeigen – payo

+1

Es ist nicht das ToUpper() ', das das Problem verursacht. [Siehe hier für weitere Informationen.] (Http://stackoverflow.com/questions/21751827/displaying-arabic-characters-in-c-sharp-console-application) –

+0

Wenn ich dies in LinqPad ausführen, funktioniert es wie erwartet. –

Antwort

0

Alles ist richtig, außer für Ihren Text. Die Konsole kann nur ASCII-Zeichen ausgeben. Eine Tabelle aller Zeichen, die Sie verwenden können: http://www.asciitable.com/index/asciifull.gif Dies ist, weil die Schriftart, die die Konsole verwenden. Wenn Sie die inkompatible Schriftart zu einem kompatiblen ändern, wird es funktionieren.

+0

Ich habe es korrigiert. –

Verwandte Themen