Digamos que tengo una colección de mensajes que tiene las propiedades "UserID" (int) y "Unread" (bool).¿Cómo puedo iterar sobre una colección y cambiar los valores con los métodos de extensión LINQ?
¿Cómo puedo usar los métodos de extensión LINQ para establecer Unread = false, para cualquier mensaje en la colección en cuyo UserID = 5?
Por lo tanto, sé que puedo hacer algo como:
messages.Any(m => m.UserID == 5);
Pero, ¿cómo se ajusta la propiedad no leído de cada uno de los que tienen un método de extensión, así?
Nota: Sé que no debería hacer esto en el código de producción. Simplemente estoy tratando de aprender un poco más de LINQ-fu.
¿Hay alguna razón por la que no pueda usar un iterativo regular para cada iteración sobre la colección filtrada? – helios
@helios, no. Esto no es código de producción. Solo me estoy divirtiendo y tenía curiosidad si podía repetir los elementos usando LINQ – KingNestor
Solo por convención y por la cordura general, llámalo leído, no no leído. if (m.Read) es mucho más fácil de entender que if (! m.Unread). –