2012-08-28 12 views
9

Come rimuovere un oggetto direttamente da un IGrouping IGrouping<DateTime, VMAppointment>?Come rimuovere un elemento da un IGogruppo

L'unico modo che conosco attualmente è di generare un nuovo IGrouping senza l'elemento concedente, ma non mi piace in questo modo perché causa alcuni problemi all'interno della mia applicazione.

Qualche idea?

+0

"causa alcuni problemi nella mia applicazione" è molto vago. Per favore sii più specifico nelle tue domande - vedi http://tinyurl.com/so-hints –

risposta

8

No, non c'è modo di mutare uno IGrouping<,>, almeno in generale - e anche se conoscessi il tipo concreto, non credo che nessuna delle implementazioni esposte dal framework .NET permetta al gruppo di essere mutato.

Presumibilmente il raggruppamento è il risultato di una certa domanda - quindi, se possibile, modificare la query originale per escludere i valori che non sono interessati a

2

So che questa è vecchia questione, ma spero che questo aiuta a qualcun altro. . Una soluzione alternativa consiste nel trasmettere il gruppo a un elenco, quindi utilizzare i valori dall'elenco anziché dal gruppo.

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

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

    ... 

    groupList.Remove(someItem); 

    //Process the other code from groupList. 
} 
Problemi correlati