我必须存储3个值A,B和C的列表.A和B是一对值。 C包含两个描述记录内容的值,我们只说1和2。
出于我的目的,我将不断查找A和/或B以查看值是否存在或该对是否存在。
C仅在处理结束时用于将其拆分为两个列表。
进一步解释数据的含义 - > A和B只是ID,C是Merge和Demerge之类的动作。 所以它看起来像这样:
1,2,合并
3,4,Demerge
我有一堆规则要求我查询下一个A或B是否存在于'任何'ID中,或者A和B是否是记录中的一对
使用a会更好吗?
List<Tuple<A,B,C>> or Dictionary<Tuple<A,B>,C>
由于
答案 0 :(得分:0)
在这种情况下,Dictionary
似乎更适合您。正如您所说,您之前不关心C
值,也不是您唯一键的一部分。字典会强制您只为任何给定的Tuple<A,B>
提供一个条目,这似乎是您喜欢的(因为您只检查值或元组是否已经存在)。 List
允许您有重复的条目。
根据您的要求,您可以创建一个类来更好地表示此对象(以避免来自Dictionary
的额外开销,因为您似乎正在使用其功能的一小部分)。例如,您是否需要迭代每个Tuple
?
答案 1 :(得分:0)
我最终使用了DataTable,它可以完美地访问我需要的任意数量的列,也可以用于更新,删除等。