我正在解析一个测试文件,其形式为:
[人]:[姓名]-[John Doe]、[年龄]-[113]、[最喜欢的颜色]-[红色]。
[人]:[姓名]-[约翰·史密斯]、[年龄]-[123]、[最喜欢的颜色]-[蓝色]。
[人]:[姓名]-[John Sandles]、[年龄]-[133]、[最喜欢的颜色]-[绿色]。
[人]:[姓名]-[Joe 博客]、[年龄]-[143]、[最喜欢的颜色]-[卡其色]。
正如您所看到的,这些值没有重复(尽管我想考虑到 future 的重复),但键是重复的。键是连字符 (-) 之前的部分。
但是每次我将这些放入字典时,它都会适合并告诉我不允许重复。为什么字典不允许欺骗?我该如何克服这个问题?
最佳答案
字典的 TKey 部分经过哈希处理以便快速查找,如果其中有重复内容,您将陷入冲突和复杂性,这将降低您快速有效查找内容的能力。这就是为什么不允许欺骗。
您可以创建一个包含数据的结构,并将其放入 Dictionnary<ID, MyStruct>
中例如。这样您就可以避免键中的重复(每个结构体都是唯一的,并且您的所有数据都在字典中。
关于c# - 有什么字典可以处理欺骗吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12295517/