Bui*_*der 1 c# linq performance loops
我在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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
想想每个集合中是否有20,000条记录,那么20k x 20k需要1-2分钟.
使用a有效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,
};
Run Code Online (Sandbox Code Playgroud)