是否有没有唯一键的Dictionary <Key,Value>?

eug*_*neK 24 .net c#

可能重复:
.NET词典中的重复键?

我需要创建一个Collection<string,object>,一个是字符串,另一个是对象.因为没有任何项目是唯一的,所以我不能使用Dictionary.

有没有办法创造List<T,T>?因为我不想创建一个对象来保存这两个值只是为了在单个foreach循环中使用它.

谢谢

Ada*_*rth 26

试试List<Tuple<string, object>>.然后你可以在列表中获得通常的linq支持来获取每个Tuple<string, object>.

从.NET 4开始,Tuple<,>该类可用,但您可以轻松模仿自己的元组类型而不会有太多麻烦.

我认为元组基于它们的项目值被认为是相等的,但是object这可能是参考等于因此不应该相等......如果这有任何意义!

关于平等的更多信息:

惊人的元组(in)平等

更新:

如果您需要将项目列表与键相关联以进行查找,则重复的问题答案会正确地突出显示Lookup该类(在您的情况下Lookup<string, object>),这表示您的意图比a更清晰List<Tuple<string, object>>.


Rzv*_*.im 7

您可以使用

List<KeyValuePair<string,object>>
Run Code Online (Sandbox Code Playgroud)

要么

Dictionary<string,List<object>>
Run Code Online (Sandbox Code Playgroud)