如何将我的共同语言的字符串转换为英语?

时间:2010-06-17 11:00:50

标签: c# .net visual-studio visual-studio-2008

我有一些Excel数据,包括我在sql table中以编程方式创建的Excel列,另一方面,我的excel列。列的名称之一是mydetail。当我尝试将其转换为大写时,我得到MYDETAİL。如何使用ToUpper()方法获取MYDETAIL而不是MYDETAİL

3 个答案:

答案 0 :(得分:5)

我猜你是土耳其人,或至少使用土耳其电脑。

在土耳其语中,“i”在大写字母中确实转换为“İ”。

使用以CultureInfo对象作为参数的String.ToUpper方法进行转换时,需要使用不同的区域性。如果你使用en-US或en-GB,你应该得到你想要的东西。

事实上,我链接到的页面上的示例使用en-US和tr-TR(土耳其语 - 土耳其语)作为差异的一个例子。

答案 1 :(得分:1)

尝试类似:

String result = source.ToUpper(CultureInfo.InvariantCulture);

来自MSDN

  

使用InvariantCulture确保无论系统的区域性设置如何,行为都是一致的

答案 2 :(得分:0)

您需要使用所需的 CultureInfo 来呼叫.ToUpper()。有关如何使用.ToUpper(CultureInfo)的一些示例,请参阅MSDN


建议在所有String操作方法上指定CultureInfo,如String.Format(),<primitive>。ToString()或例如Convert.Int32(object,CultureInfo)。

FxCop在您的代码中提醒您有关此问题的工作做得很好。