【发布时间】:2021-01-28 14:49:18
【问题描述】:
我有两个通用的项目列表,每个列表都包含一个供应商列表及其 ID:
List<ExisitingItems>
List<Suppliers>
List <PotentialMatches>
List<Suppliers>
Suppliers
SupplierId
Name
我需要根据嵌套的供应商 ID 和名称,将现有项目列表与潜在匹配项列表进行比较。
我目前将这两个列表与所需的结果进行比较,如下所示:
foreach (var potentialMatch in _potentialMatches)
{
foreach (var supplier in potentialMatch.Suppliers)
{
var match = ExistingItems.Find
(e => e.Suppliers.Any
(s => s.SupplierId == supplier.SupplierItemId && s.Name == supplier.Name));
//Do stuff with match
}
}
但是,当处理大于 500k 的大量记录时,效率不高且执行速度非常慢。
我怎样才能更有效地执行相同类型的比较?
【问题讨论】:
标签: c# linq ienumerable generic-list