的IGrouping这听起来很愚蠢(也许答案是很容易的),但我只是不明白这个问题的解决方案:重新组合由原始组标准
比方说,我有这样的:
public IGrouping<T, Item> process<T>(IGrouping<T,Item> group)
{
var toIgnore = group.AsEnumerable().Where(ignoreExpression);
var toContinue = group.AsEnumerable().Except(toIgnore);
// how to group the "toContinue" Enumerable by the same criteria as the group ?
//
return newGroup;
}
我想要做的是:我得到这个组,我想忽略每个组中的一些项目(不是整个组)。到现在为止还挺好。然后,我想根据原始标准对它重新组合 - 这就是我卡住的地方。
这怎么办?我可以从分组中找到原始标准(这是group.Key当然),但是我怎样才能通过group.Key重新分组结果“toContinue”(甚至是toContinue.ToList())?
THX的建议
安德烈亚斯
之前进行过滤为什么不在组合之前过滤项目? – 2015-02-09 14:50:18
这个“过程”方法是工作队列的一部分 - 我只想过滤出组中的一些项目并返回结果。队列中还有其他处理器期望相同类型的元素(按同一个键分组)。 – user2553930 2015-02-09 14:53:40