2016-05-16 81 views
2

如何检测ToUpper()函数是否可能在此字符串上? 例如,当输入的语言不具有大写字母时。 我有这样的:检查大写功能是否有效

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

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

,输出是:"???? ????? ????"

我想这Console.WriteLine(text.ToUpper(new CultureInfo("ar")));但结果是一样的前面。

+1

'Console.WriteLine(文本)'打印字符?我认为ToUpper忽略了未映射的字符。换句话说,也许你的控制台窗口没有字体或区域设置来正确显示该字符串 – payo

+1

这不是导致问题的'ToUpper()'。 [看到这里的更多信息](http://stackoverflow.com/questions/21751827/displaying-arabic-characters-in-c-sharp-console-application) –

+0

当我在LinqPad中运行它,它按预期工作。 –

回答

0

一切都是正确的,exept为您的文本。控制台只能打印ASCII字符。 可以使用的所有字符的表格:http://www.asciitable.com/index/asciifull.gif 这是因为控制台使用的字体。 如果您将不兼容字体更改为兼容字体,则它将起作用。

+0

我纠正了它。 – 2016-05-16 20:40:08