我在C#中有一些代码,我在C#中不是很好,所以在循环中使用了循环,但它们花了太长时间。有没有办法为快速执行编写代码以节省准确的时间?
这是代码。
foreach (var vmain in vendorMainResult)
{
foreach (var povendor in potoDateOrders)
{
if (vmain.VendorNumber == povendor.VendorNumber && vmain.Year == povendor.Year)
{
vmain.ToDateOrders = povendor.ToDateOrders;
vmain.OutstandingComm = povendor.OutstandingComm;
break;
}
}
}
想想每个集合中是否有20,000条记录,那么20k x 20k需要1-2分钟。
答案 0 :(得分:6)
使用Join
有效地将两个集合连接在一起。
var query = from vmain in vendorMainResult
join povender in potoDateOrders
on new
{
vmain.VendorNumber,
vmain.Year,
}
equals new
{
povendor.VendorNumber,
povendor.Year,
}
select new
{
vmain,
povendor,
};