好的,所以我基本上試圖加載一個.txt文件的內容,每行包含1個單詞到字典中。C#:使用英文以外的語言字典的問題
當這個文件中的文字是英文的時候,我沒有任何問題,但是把文件改成帶重音符的語言,我開始有問題了。
必須在創建流式閱讀器時更改編碼,同時將該單詞添加到字典中,同時還要使用ToLower方法中的文化。
基本上我現在有一些與此類似:
if (!dict.ContainsKey(word.ToLower(culture)))
dict.Add(word.ToLower(culture), true);
的問題是,像「ESTA」和「ESTA」字被認爲是相同的。那麼,是否有任何方法將ContainsKey方法設置爲特定語言,或者我們是否需要按照可比較的方式實現某些內容?無論哪種方式,我有點新的C#所以我會apreciate示例請。
另一個問題淹沒在新文件中......在像一百字之後,它停止添加文件的其餘部分,留下一個字不完整......但我無法看到該字中的任何特殊字符以結束執行該方法,關於這個問題的任何想法?
非常感謝。
編輯: 第一個問題使用Jon Skeet消解解決。
關於第二個問題: 好吧,將文件格式更改爲UTF8,並刪除流讀取器中的編碼,因爲它現在可以識別恰好正確的重音。現在測試一些關於第二期的內容。
第二個問題也解決了,這是我的一個錯誤...恥辱...
Thnks的快速解答大家,尤其是喬恩斯基特。
如果您在比較時遇到問題,那麼在字典中,您將遇到散列碼生成器的問題,這意味着兩個不同的字符串將具有相同的散列碼。我不知道這是否肯定會證明是一個問題,但我希望你會發現訪問字典會證明是有問題的。爲什麼你使用字典作爲存儲有什麼特別的原因?也許一個自定義的數據結構會更有意義。 – 2010-01-06 12:09:52