的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