使用LINQ而不是使用for-each循环

Lam*_*mps 3 .net c# linq

我有以下代码.如何将其转换为LINQ?任何人请帮助我.

在下面的代码中,'powd'包含db值,purchaseOrderUpdateRequest包含用户提交的数据.

bool hasUpdate;

foreach (var item in purchaseOrderUpdateRequest.Lines)
{
    var line = powd.PurchaseOrderLines.Single(p => p.ItemNumber ==  item.ItemNumber);
    decimal quantityToReceive = item.QuantityReceived - line.QuantityReceivedToDate;

    if (quantityToReceive > 0)
    {
        hasUpdate =true;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

Jon*_*eet 13

所以你想要解决的是,是否有任何项目有更新?那只是:

var hasUpdate = purchaseOrder.UpdateRequest.Lines.Any(item =>
     item.QuantityReceived < powd.PuchaseOrderLines
                                 .Single(p => p.ItemNumber == item.ItemNumber)
                                 .QuantityReceivedToDate)
Run Code Online (Sandbox Code Playgroud)

我已经将比较改为仅使用直接<而不是减法并与0进行比较,但这应该没问题.