2012-08-28 124 views
9

如何直接從IGrouping IGrouping<DateTime, VMAppointment>中刪除對象?如何從IG組中刪除元素

我目前唯一知道的方法是生成一個沒有包含元素的新IGrouping,但我不喜歡這種方式,因爲它會在我的應用程序中造成一些麻煩。

任何想法?

+0

「它在我的應用程序中導致一些麻煩」非常模糊。請在您的問題中更具體 - 請參閱http://tinyurl.com/so-hints –

回答

8

不,不可能改變IGrouping<,>,至少在一般情況下 - 即使您知道具體類型,我也不相信.NET框架公開的任何實現都允許組發生變異。

想必分組是一些查詢的結果 - 所以如果可能的話,改變原有的查詢,以排除你不感興趣的值

2

我知道這是老問題,但希望這可以幫助別人。 。解決方法是將該組轉換爲列表,然後使用列表中的值而不是組。

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

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

    ... 

    groupList.Remove(someItem); 

    //Process the other code from groupList. 
}