Comment puis-je effectuer une itération sur une collection et de modifier les valeurs avec LINQ méthodes d'extension?

Permet de dire que j'ai une collection de Messages qui a les propriétés "UserID" (int) et les "non Lus" (bool).

Comment puis-je utiliser LINQ extension des méthodes pour définir non Lus = false, pour tout Message dans la collection, dont le UserID = 5?

Donc, je sais que je peux faire quelque chose comme:

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

Mais, comment dois-je configurer le non Lus de la propriété de chacun de ceux avec une méthode d'extension ainsi?

Note: je sais que je ne devrais pas faire cela dans le code de production. Je suis simplement en train d'essayer d'apprendre un peu plus LINQ-fu.

  • Est-il une raison pourquoi vous ne pouvez pas utiliser un régulier pour chaque itération sur la collection filtrée?
  • pas de. Ce n'est pas le code de production. Je suis tout simplement avoir du plaisir et j'étais curieux de savoir si je pouvais faire une itération sur les éléments à l'aide de LINQ
  • Juste pour la convention et la santé mentale souci, appelez ça de la lire, de ne pas Lus. si(m.Lire) est donc beaucoup plus facile à comprendre que si (!m.Non lus).
InformationsquelleAutor KingNestor | 2009-12-30