";具有相同密钥的项目“;例外带有枚举键的字典

本文关键字:枚举 字典 项目 quot 密钥 | 更新日期: 2023-09-27 18:25:12

我有一个Dictionary<TKey,TValue>,在其中插入了大量数据。这些键是一个枚举。我一直得到这个例外:

已添加具有相同键的项目。

但我没有看到任何欺骗,尽管我怀疑我的一些枚举具有相同的值。这会导致重复的密钥错误吗?我认为枚举是一种特殊类型,所以它的值无关紧要。

这个例外没有多大帮助。。。它并没有告诉我哪把钥匙在骗我。我正在使用一个初始值设定项列表。


编辑:使用一些regex魔术将初始值设定项列表转换为单独的.Add调用。找到了钥匙,但我仍然没有看到那个傻瓜。。。

";具有相同密钥的项目“;例外带有枚举键的字典

如果枚举的多个成员具有相同的数字表示形式,则会导致异常。

默认情况下,枚举的数字表示形式是递增的,因此除非指定重复的值,否则不应该有任何值。

请尝试运行以下用枚举替换为T的操作,看看是否有任何值冲突。

return Enum.GetValues(typeof(T));

如果不是,那么我看到的唯一替代方案是您将枚举用作键两次。