我如何 LINQify 这个?

发布于 2024-11-07 00:40:10 字数 222 浏览 0 评论 0原文

雷沙珀说我可以,但我不知道如何做。这种形式有几个例子:

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

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

Resharper says I can but I don't see how. There are several examples of the form:

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

Of course I could make a sublist on the conditional and then sum the items in the sublist but this would be no clearer and would run slower.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

葬﹪忆之殇 2024-11-14 00:40:10

ReSharper 是一个方便的工具,但请记住,它的建议并不总是更高效或更不言自明。这里就是这种情况。这实在是一个折腾。我确信您心里已经有了 LINQ 语句,但我想这个示例应该是这样的:

var Total = (from Item in ListOfItems
    where (ConditionalInvolvingItem)
    select ItemProperty).Sum();

ReSharper is a handy tool, but keep in mind its suggestions aren't always necessarily more performant or self-explanatory. Such is the case here. It's really a toss-up. I'm sure you already have a LINQ statement in mind, but I'd imagine this example would look as such:

var Total = (from Item in ListOfItems
    where (ConditionalInvolvingItem)
    select ItemProperty).Sum();
很快妥协 2024-11-14 00:40:10
var total = listOfItems
                .Where(item => ConditionalInvolvingItem(item))
                .Sum(item => item.Property);
var total = listOfItems
                .Where(item => ConditionalInvolvingItem(item))
                .Sum(item => item.Property);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文