C#:有没有办法使用 lambda 表达式设置集合中对象的属性?

标签 c# .net lambda

我正在开发一个小项目,我想我可以尝试一些我不知道的东西,这样我就可以学到一些新东西。 我有一个消息集合,称为 msgs。我想只过滤未读的,然后将其设置为“已读”。 为此,我用这个 lambda 表达式调用了 Where 方法,我想我会得到一个所有未读消息的列表。现在我想将值设置为“读取”(将“T”分配给 MessageRead 属性)。有没有办法使用 lambda 表达式来做到这一点?

我得到了这段代码,但是“All”方法不是我想要的,我只是发现它会检查列表中的所有元素是否都符合这个条件。

msgs.Where(message => message.MessageRead == 'F').All(message => message.MessageRead = 'T');

非常感谢, 奥斯卡

最佳答案

您所追求的是 ForEach 扩展方法,请参阅此处的讨论:LINQ equivalent of foreach for IEnumerable<T>

关于C#:有没有办法使用 lambda 表达式设置集合中对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5174965/

相关文章:

c# - ASP.NET 配置文件 - 向现有用户添加配置文件

.net - C# 如果我以优先级 = RealTime 运行进程,GC 会发生什么?

java - 为什么 lambda 表达式可以用作比较器?

java - 如何在 Kotlin 中将函数式接口(interface)操作作为参数传递?

lambda - 这个 JAVA 8 lambda 方法是如何工作的?

C# 和 VB.NET LDAP 搜索不同?

c# - ASP.NET 添加迁移 'composite primary key error' 如何使用 Fluent API

c# - C#获取XML子节点

c# - 隐藏一个组框并删除它在 winform 中存在的空间

c# - 使用更改所有实例的静态字段来更改类的所有实例中的字段