2012-08-28 127 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. 
}