我写了一段代码,用于比较C#中的两个列表。第一个列表包含以下属性:
- ItemID
- TotalViews
第一个列表缺少TotalViews的值,所以我从第二个列表中为其赋值,该列表有以下属性:
- ItemID
- HitCount // 这是需要赋值给TotalViews的属性
代码如下:
foreach (var item in parsedMerchantData)
{
var itemInB = HitCountItemIDS.FirstOrDefault(x => x.ItemID == item.ItemID);
if (itemInB != null)
{
if (itemInB.HitCount != -1)
{
item.TotalViews = itemInB.HitCount;
}
else
{
item.TotalViews = 0;
}
}
}
是否有更高效的方法可以使用LINQ或实现自定义比较器来在包含100000个项的大型列表上更快地工作?
HitCountItemIDS
中是否可能有两个具有相同 ID 的元素。 - Jon Skeet