我正在比较对象以确定它们是否相等,或者有任何差异。
如果它们不同,我想以某种方式将它们存储在一起,但我不确定如何。将添加多个相同类型的对象。
类似于:
List<T,T>
可能吗?
因此,如果我将对象A与对象B进行比较,并且它们不相同,我可以调用:
List.Add(A,B).
所以我知道每个元素的每个对象都是相关的吗?
希望这是有道理的!
答案 0 :(得分:4)
您可以创建包含两个属性的类,也可以使用Tuple<T1,T2>
前者看起来像
list.Add( new MyObject(A,B) )
后者看起来像
list.Add( Tuple.Create(A,B) );
为了初始化此列表,我们需要知道A
和B
的类型 - 但我们假设A
的类型为Foo
和{{1} }类型为B
,列表将初始化为
Bar
答案 1 :(得分:1)
将添加多个相同类型的对象。
然后听起来你想要一个List<List<T>>
(基本上是一个锯齿状的数组)。如果有一些“关键”值(例如您要比较的属性)可用于识别“相等”对象组,则Dictionary<TKey,List<TValue>>
可能会提供一些性能改进。
请注意,如果您已经拥有集合,则可以使用GroupBy
Linq方法将“相等”对象组合在一起。
答案 2 :(得分:0)
您可以使用Tuple存储不同类型的对象
Tuple<type1,type2>