2011-08-05 22 views
1

我們有一個Excel文件,其中的'Company'文檔屬性設置爲日文,我們有讀取'Company'文檔屬性並將其作爲字符串存儲的代碼。如何編寫代碼來比較C#中的日文字符串?

但是,我們不知道如何將它與參考/基準日語字符串進行比較以查看它是否匹配。

兩個問題,請:

1)做這種比較需要什麼樣的代碼?

現在,我在這裏使用String的Comparer解決方案: Compare strings with non-English characters?

var swedishComparer = StringComparer.Create(new CultureInfo("sv-Se"), true); 
consultants = consultants.Where(x => x.Description.Contains(vm.Description, swedishComparer)).ToList(); 

2)我將如何存儲參考/基準日字符串?

也就是說,我應該怎麼用了「ReferenceStringInJapanese」在這裏:

japaneseComparer.Compare(companyName, 'ReferenceStringInJapanese') == 0 
+0

對於#1,您應該發佈您的實際代碼。我沒有在您的鏈接中看到可接受的解決方案。 – Gabe

+0

也許我錯過了一些東西,但你應該使用你想比較的日文文本。你可以從等加載它,或者你可以粘貼它(假設視覺工作室)。 –

+0

@Gabe:我修復了這個問題 –

回答

1

Visual Studio編輯器支持Unicode,所以你應該能夠日本文本字符串直接粘貼到編輯器。

3

要比較這兩個字符串,可以使用StringComparer,就像您已經發現的那樣。用JA-JP的CultureInfo日語輸入使用它:

var comparer = StringComparer.Create(new CultureInfo("ja-JP"), true); 

的字符串來比較可以簡單地放置在你的源代碼。 C#支持Unicode。

bool areEqual = comparer.Equals(input, "こんにちは");