所以基本上我有两个大列表,如下所示:
public class Items
{
public string ItemID { get; set; }
}
var oldList = new List<Items>(); // oldList
var newList = new List<Items>(); // new list
两个列表都非常大,如果它们都很大(超过 30 秒),由于执行时间很短,因此简单的双 foreach 是不够的。
在我在 stackoverflow 上提出的上一个问题中,我得到了关于如何比较这两个相同列表并找出哪些项目具有不同 QuantitySold 参数的回复,然后将其存储在名为“DifferentQuantityItems”的第三个列表中,如下所示:
var differentQuantityItems =
(from newItem in newList
join oldItem in oldList on newItem.ItemID equals oldItem.ItemID
where newItem.QuantitySold != oldItem.QuantitySold
select newItem).ToList();
现在我想从这两个列表中得到以下信息:
- A list of items that are present in newList, but not in oldList
- A list of items that are present in oldList, but not in newList
我怎样才能做到这一点?有人可以帮我吗?
PS我会“知道”其中一个列表中缺少任一项目的方式是通过属性“ItemID”......
米脂
守着星空守着你
Qyouu
九州编程
相关分类