我有一个数据结构列表,这些结构具有名为 group
的属性。
现在,我想将此列表拆分为每个 group
-value 的多个列表。
例如,我在原始列表中有 5 个具有以下 group
值的对象:
0. group: "group1"
1. group: "group1"
2. group: "group2"
3. group: "group2"
4. group: "group3"
记住这个列表,我希望每个 group
值有 3 个列表。一个列表将仅包含组为“group1”的对象,下一个列表将包含组为“group2”的对象,依此类推...
我想我可以用 Linq 做到这一点(我可以这样做以从具有给定值的组中获取单个列表)但我不知道如何自动对所有可能的组执行此操作。
最佳答案
GroupBy
可以满足您的需求。但是如果你想在一个列表中包含每组一个列表的结果,你应该像这样使用它:
IList<List<Item>> groups = items.GroupBy(x => x.Group).Select(x => x.ToList()).ToList();
关于c# - 根据某个属性的值将一个列表拆分为多个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33629877/