【发布时间】:2018-09-04 08:24:01
【问题描述】:
C# 中是否有一个像字典一样工作的集合,具有多个允许双向访问的键?例如:
Collection<int, string> a = new Collection<int, string>();
a.Add(1, "a");
a.Add(1, "b");
a.Add(2, "a");
a.Get(1);//returns ["a", "b"]
a.InverseGet("a"); //returns [1, 2]
【问题讨论】:
-
你有 LINQ。
-
如果您不太关心性能,一个简单的
.Where()就可以完成这项工作 -
另一个选项是数据表。它不关心方向,可以使用索引来提高性能
-
您应该使用键值对列表。
var collection = new List<KeyValuePair<int, string>>();这个你可以很容易地用LINQ查询。 -
@Linuxrocks 不需要使用 KVP,元组数组也可以工作
标签: c# dictionary collections