我有一個Dictionary<TKey,TValue>
,我插入了大量數據。鍵是一個枚舉。我一直得到這個例外:「具有相同密鑰的項目」異常;帶有枚舉鍵的字典
具有相同密鑰的項目已被添加。
但我不看到任何愚弄,但我懷疑我的一些枚舉值相同。會導致重複鍵錯誤?我認爲枚舉是一種特殊類型,所以它的價值無關緊要。
這個例外不是很有幫助......它並沒有告訴我哪個鑰匙正在跳動。我正在使用一個初始化列表。
編輯:使用了一些正則表達式魔術到我的初始化列表轉換成單獨的.Add
電話。找到了密鑰,但我仍然沒有看到這個騙局......
只是問一個明顯的問題:你能夠調試它的視覺工作室嗎?如果沒有,可以在字典添加操作之前創建額外的檢查,以查看密鑰是否已經存在,並且添加更多有用的異常(如果存在)。 – lzcd 2012-02-21 05:12:21
@lzcd:嗯,我無法使用初始化列表。我把它分解後,它給了我一條線#。 – mpen 2012-02-21 05:15:39
枚舉中有多少個值?數字值是否明確指定或保留默認值?它是[Flags]枚舉嗎?正如下面的Pavel所說,enum只是一個int(默認情況下)或幕後的另一個nunmeric數據類型,所以有時候不同的值(或Flags枚舉中的組合)可以解析爲相同的數字。 – 2012-02-21 05:17:03