2012-08-28 15 views
9

¿Cómo elimino un objeto directamente de un IGrouping IGrouping<DateTime, VMAppointment>?Cómo eliminar un elemento de un IGrouping

La única forma que conozco actualmente es generar un nuevo IGrouping sin el elemento preocupante, pero no me gusta de esta manera porque causa algunos problemas dentro de mi aplicación.

¿Alguna idea?

+0

"causa algunos problemas dentro de mi aplicación" es muy vago. Por favor sea más específico en sus preguntas - vea http://tinyurl.com/so-hints –

Respuesta

8

No, no hay forma de mutar un IGrouping<,>, al menos en general, e incluso si supiera el tipo concreto, no creo que ninguna de las implementaciones expuestas por .NET Framework permita la mutación del grupo.

Es de suponer que la agrupación es el resultado de una consulta - por lo que si es posible, cambie la consulta original para excluir los valores que no se deseen

2

Sé que esto es cuestión de edad, pero espero que esto ayude a alguien más. . Una solución para esto es lanzar el grupo a una lista, luego usar los valores de la lista en lugar del grupo.

var groups = someList.GroupBy(x => x...); 

foreach (var group in groups) 
{ 
    var groupList = group.ToList(); 

    ... 

    groupList.Remove(someItem); 

    //Process the other code from groupList. 
} 
Cuestiones relacionadas