【发布时间】:2009-12-30 16:35:42
【问题描述】:
假设我有一个消息集合,其中包含属性“UserID”(int)和“Unread”(bool)。
对于集合中 UserID = 5 的任何消息,我如何使用 LINQ 扩展方法设置 Unread = false?
所以,我知道我可以这样做:
messages.Any(m => m.UserID == 5);
但是,我如何设置每个具有扩展方法的未读属性?
注意:我知道我不应该在生产代码中这样做。我只是想学习更多 LINQ-fu。
【问题讨论】:
-
有什么理由不能使用常规的 for-each 迭代过滤的集合吗?
-
@helios,没有。这不是生产代码。我只是玩得很开心,我很好奇是否可以使用 LINQ 迭代这些项目
-
只是为了约定和一般的理智,称之为已读,而不是未读。 if(m.Read) 比 if (!m.Unread) 更容易理解。
标签: c# .net linq linq-to-objects