我有这门课:
.NET Framework 3.5
Class my_class {
string name;
int val_1;
int val_2;
.
.
.
int val_n;
}
我有以下清单:
List<my_class> list1;
List<my_class> list2;
List<my_class> result1;
List<my_class> result2;
List<my_class> resultEdit;
list1
和list2
都可能包含超过 500K到100万的对象。
result1
列表应包含list1
上存在且list2
上不存在的对象。
result2
列表应包含list2
上存在且list1
上不存在的对象。
resultEdit
应包含list1
和list2
中存在的对象,但val_1
,val_2
,...之一{{{ 1}}在val_n
和list1
之间有所不同。
示例:
list2
结果应该是:
List1 = { {"A",1,2,3,4} , {"B",1,2,3,4}, {"C",1,2,3,4} };
List1 = { {"A",1,2,3,4} , {"D",1,2,3,4}, {"C",1,4,3,4} };
我知道有很多方法可以做到这一点,但每个列表中的项目数量都很大(每个列表中的项目超过500K),处理时间不好!
那么任何好的,快速的方法来实现这一目标吗?
注意:处理时间对我来说非常重要,内存也很重要
答案 0 :(得分:2)
嗯,描述中遗漏了很多东西,但在比较之前我会对数据进行一些预处理: