2010-06-17 111 views
0

我有一些Excel數據,包括一個Excel列,我在另一方面在sql表格中創建了我的excel列。該列的名稱之一是mydetail。當我嘗試將它轉換爲大寫字母時,我得到MYDETAİL。如何使用ToUpper()方法獲取MYDETAIL而不是MYDETAİL如何將我的字符串與我的通用語言轉換爲英文?

+1

這個問題的區域性設置對我來說毫無意義。如果可能,請詳細解釋(也許更好的英語?)。 – Peter 2010-06-17 11:02:54

回答

5

我猜你是土耳其人,或者至少使用土耳其電腦。

在土耳其語中,「i」確實轉換爲大寫的「İ」。

在使用String.ToUpper方法進行轉換時,需要使用不同的文化,該方法將CultureInfo對象作爲參數。如果你使用en-US或en-GB,你應該得到你想要的。

實際上,我鏈接到的頁面上的示例使用en-US和tr-TR(土耳其 - 土耳其語)中的「indigo」一詞作爲差異示例。

+0

哇你怎麼能意識到「我是土耳其人:」))) – Penguen 2010-06-17 11:22:36

+0

@Phsika - 土耳其語是(據我所知)唯一的語言大寫我有一個點(©) – ChrisF 2010-06-17 11:24:30

0

您將需要撥打電話.ToUpper()與所需的CultureInfo。有關如何使用.ToUpper(CultureInfo)的一些示例,請參閱MSDN


建議在所有字符串處理方法等的String.Format指定的CultureInfo(),<primitive>的ToString()或例如Convert.Int32(對象,CultureInfo的)。

FxCop做得很好,可以在代碼中提醒您這個問題。

1

試着這麼做:

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

MSDN

使用InvariantCulture的,以確保行爲將是一致的,無論系統

+0

不,它是不正確的 – Penguen 2010-06-17 15:11:24

相關問題