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

标签 c# .net linq

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

在下面的代码中,“powd”包含数据库值,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;
    }
}

谢谢。

最佳答案

所以您要解决的问题是是否有任何项目有更新?那只是:

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

我已经将比较更改为直接使用 <而不是减法和与 0 的比较,但这应该没问题。

关于c# - 使用 LINQ 而不是使用 for-each 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6000455/

相关文章:

c# - 过滤 DataGridView

c# - 在 C# 中将 2 个本地字符串 [] 添加到单个数组中

C# 中 CultureInfo.InvariantCulture 属性的 Java 等价物

.net - 在 XML 中转义大括号

c# - SQL Server 行版本

c# - 条形码(代码 39)生成

c# - C++ 正则表达式 : convert C# regex to C++ Linux

c# - 如何在 Asp.net C# 代码中删除之前在 JavaScript 弹出窗口中添加记录名称

c# - LINQ 可以用于查找排序列表中的间隙吗?

c# - Entity Framework + DayOfWeek