2012-12-21 84 views
6

我在網上發現了很多關於使字典能夠做大小寫不敏感的查找的信息,例如,如果我添加了一個(「A」,「value」)的鍵/值對,調用區分大小寫的字典鍵

MyDict["a"] == MyDict["A"] 

將返回true。

我想知道的是,爲什麼我得到一個「密鑰已經被添加」的錯誤,當我做

MyDict.Add("A", "value1"); 
MyDict.Add("a", "value2"); 

如果我定義我的字典做區分大小寫的查找窗口。有沒有辦法定義一個字典,以便能夠添加不同的封裝鍵?

+3

適合我。你確定你在空字典上操作嗎? – Mir

+0

您能否提供一個完整的(可運行的)代碼示例來演示您遇到的問題? –

回答

9

字典默認情況下區分大小寫 - 您不需要執行任何操作。

Dictionary<string, string> myDict = new Dictionary<string, string>(); 
myDict.Add("A", "value1"); 
myDict.Add("a", "value2"); 

看到您的代碼在這裏工作:ideone

如果您的代碼出現錯誤,那是因爲其中一個鍵已經存在於您的字典中。

+0

它已經存在(意味着我需要咖啡),不幸的是我不得不手動創建一個大型的字典,其中包含大量的值,並且沒有考慮重複進入的可能性。謝謝,我以前從未見過ideone所以也要謝謝你。 – spots

6

所有Dictionaries都是區分大小寫的。但是,您可以使用StringComparer類提供的不區分大小寫的字符串比較器來創建不區分大小寫的字符串鍵的字典。

ideone檢查。

相關問題