Resharper 说我可以,但我不知道如何做。有几种形式的示例:
foreach (ItemType Item in ListOfItems)
if (ConditionalInvolvingItem)
Total += ItemProperty;
当然,我可以根据条件创建一个子列表,然后对子列表中的项目求和,但这不会更清晰,而且运行速度会更慢。
最佳答案
ReSharper 是一个方便的工具,但请记住,它的建议并不总是更高效或更不言自明。这里就是这种情况。这实在是一个折腾。我确信您心里已经有了 LINQ 语句,但我想这个示例应该是这样的:
var Total = (from Item in ListOfItems
where (ConditionalInvolvingItem)
select ItemProperty).Sum();
关于linq - 我如何 LINQify 这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5999618/