【发布时间】:2011-02-03 10:06:24
【问题描述】:
我有 2 个列表对象:
List<int> lst1 = new List<int>();
List<int> lst2 = new List<int>();
假设它们有值:
lst1.Add(1);
lst1.Add(2);
lst1.Add(3);
lst1.Add(4);
lst2.Add(1);
lst2.Add(4);
我需要得到一个包含这两者的“不同”列表的对象;所以在这种情况下,返回将是 List {2, 3}。
有没有简单的方法来做到这一点?还是我需要遍历列表的每个值并进行比较?
我愿意使用 ObjectQuery、LINQ 等,因为这些列表来自数据库,并且可能有几百到几千个条目。
谢谢!
【问题讨论】:
-
您的列表是否已排序,或者在此示例中这只是巧合?
-
修改Sql不是更好吗?为什么要把不需要的东西穿过电线?
-
你的目标不明确。在您的示例中,lst2 是 lst1 的完美重叠。那是保证吗?假设 lst2 还包含
5,那么期望的返回值是:{2,3} 还是 {2,3,5}?