2
我有一個IEnumerable項目,我想按關聯的類別進行分組。這些項目按與它們關聯的類別進行分組 - 這是一個列表 - 因此單個項目可能是多個類別的一部分。LINQ組項目。單個項目可能在幾個組中
var categories = numbers.SelectMany(x => x.Categories).Distinct();
var query =
from cat in categories
select new {Key = cat,
Values = numbers.Where(n => n.Categories.Contains(cat))};
我用上面的代碼,它實際上做的工作,但我想知道是否有這樣做的,因爲這種操作可能會執行緩慢,當數字包含數千個值的更有效的方式。
我幾乎要求重構代碼以提高效率。