我该如何对此进行 LINQ化

  • 本文关键字:LINQ linq resharper
  • 更新时间 :
  • 英文 :


Resharper说我可以,但我看不出怎么做。 该表单有几个示例:

foreach (ItemType Item in ListOfItems)
    if (ConditionalInvolvingItem)
        Total += ItemProperty;

当然,我可以在条件上创建一个子列表,然后对子列表中的项目求和,但这不会更清楚,并且运行速度会更慢。

ReSharper 是一个方便的工具,但请记住,它的建议不一定总是更高性能或不言自明。这里的情况就是这样。这真的是一个折腾。我相信您已经想到了一个 LINQ 语句,但我想这个例子看起来像这样:

var Total = (from Item in ListOfItems
    where (ConditionalInvolvingItem)
    select ItemProperty).Sum();
var total = listOfItems
                .Where(item => ConditionalInvolvingItem(item))
                .Sum(item => item.Property);

相关内容

  • 没有找到相关文章

最新更新