我正在开发一个小项目,我想我可以尝试一些我不知道的东西,这样我就可以学到一些新东西。 我有一个消息集合,称为 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/