我有两个泛型列表在各列表20000-30000对象。如何比较两个在C#高效分选大名单?
class Employee
{
string name;
double salary;
}
List<Employee> newEmployeeList = List<Employee>() {....} // contains 20,000 objects
List<Employee> oldEmployeeList = List<Employee>() {....} // contains 30,000 objects
列表也可以通过名字,如果它发展的速度进行排序。
我想比较这两个列表,找出
- 员工的姓名和工资匹配
- 员工,其名称匹配,但没有薪水
什么是比较的最快方法这样的大数据列表具有上述条件?
您可以使用LINQ,它有一个小的性能成本,但再次为@乔恩说,这是足以让你要不你尝试过什么? – 2012-01-09 22:19:25
您从哪里获取数据?如果您使用SQL填充您的列表,则可能需要直接从SQL进行比较,而不是从列表中进行比较。 – 2012-01-09 22:22:58
因为它们是排序的,所以一个简单的顺序遍历是O(n),那太慢了吗? – 2012-01-09 22:23:34