我有一个Dictionary<TKey,TValue>
我正在插入大量数据。键是枚举。我一直得到这个例外:
已添加具有相同键的项目。
但我不会看到任何欺骗,虽然我怀疑我的一些枚举具有相同的价值。这会导致重复键错误吗?我认为枚举是一种特殊的类型,所以它的价值无关紧要。
例外不是很有帮助......它没有告诉我哪个键绊倒了。我正在使用初始化列表。
编辑:使用一些正则表达式魔术将我的初始化列表转换为单独的.Add
调用。找到钥匙,但我还没有看到傻瓜......
答案 0 :(得分:5)
如果枚举的多个成员具有相同的数字表示形式,则会导致异常。
答案 1 :(得分:1)
默认情况下,Enums的数字表示增加,除非您指定重复值,否则不应该有任何。
尝试运行以下用您的枚举替换T并查看是否有任何值发生冲突。
return Enum.GetValues(typeof(T));
如果没有,那么我看到的唯一选择是你使用枚举作为键两次。