4

通过创建Dictionary<int,int>orList<KeyValuePair<int,int>>我可以创建相关 id 的列表。

通过调用collection[key],我可以返回针对它存储的相应值。

我还希望能够通过传入一个值来返回密钥——我知道这可以使用一些 LINQ,但它似乎效率不高。

在我的情况下,每个键都是唯一的,每个值也是. 这个事实是否可以使用另一种提供更好性能的方法?

4

2 回答 2

3

听起来您需要一个双向字典。没有支持这一点的框架类,但您可以实现自己的:

C#中的双向1对1字典

于 2012-09-06T10:20:33.580 回答
0

您可以封装两个字典,一个用您的“键”存储您的值,另一个用您的“值”键控存储您的键。

然后通过几种方法管理对它们的访问。快速和增加的内存开销不应该有很大的不同。

编辑:刚刚注意到这与之前的答案基本相同:-/

于 2012-09-06T11:01:54.943 回答