gpt4 book ai didi

c# - 如何使用 LINQ 扩展方法迭代集合并更改值?

转载 作者:太空狗 更新时间:2023-10-29 17:35:31 25 4
gpt4 key购买 nike

假设我有一个消息集合,其属性为“UserID”(int) 和“Unread”(bool)。

如何使用 LINQ 扩展方法为集合中 UserID = 5 的任何消息设置 Unread = false?

所以,我知道我可以做类似的事情:

messages.Any(m => m.UserID == 5);

但是,我该如何设置每个具有扩展方法的未读属性呢?

注意:我知道我不应该在生产代码中这样做。我只是想学习更多 LINQ-fu。

最佳答案

实际上,仅使用内置的 LINQ 扩展方法而不使用 ToList 是可能的。
我相信这与常规 for 循环的执行方式非常相似。 (我没查过)

难道你不敢在真实代码中这样做。

messages.Where(m => m.UserID == 5)
.Aggregate(0, (m, r) => { m.Unread = false; return r + 1; });

作为额外的奖励,这将返回它修改的用户数。

关于c# - 如何使用 LINQ 扩展方法迭代集合并更改值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1981098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com