gpt4 book ai didi

c# - 将 List 拆分为 SubLists

转载 作者:行者123 更新时间:2023-11-30 19:11:46 26 4
gpt4 key购买 nike

我有一个以类别和产品作为属性的列表,我希望将属于不同列表中的类别的所有产品分开。

目前我有这个

Products products = new Products();

products.productList.Add(new Products("Fruit", "Apples"));
products.productList.Add(new Products("Fruit", "Oranges"));
products.productList.Add(new Products("Fruit", "Bananas"));
products.productList.Add(new Products("Fruit", "Grapes"));
products.productList.Add(new Products("Vegetables", "Tomatoes"));
products.productList.Add(new Products("Vegetables", "Lettuce"));
products.productList.Add(new Products("Vegetables", "Onions"));
products.productList.Add(new Products("Dairy", "Milk"));
products.productList.Add(new Products("Dairy", "Yogurth"));
products.productList.Add(new Products("Dairy", "Eggs"));

List<IEnumerable<string>> distinctCats = products.productList.GroupBy(s => s.Category).Select(s => s.Select(v => v.Product)).ToList();

但我似乎无法从 distinctCats 中获取值。我想获得类似于具有实际值的普通列表 productList 的东西。

感谢您的帮助和时间

最佳答案

如果你想把一个列表按类别划分成子列表:

var categoryLists = products.GroupBy(p => p.Category)
.Select(g => g.ToList());

现在,categoryLists是一个 IEnumerable<List<Product>> .

要迭代这个,你可以说:

foreach(var categoryList in categoryLists) {
foreach(var product in categoryList) {
// do something with product
}
}

关于c# - 将 List<Product> 拆分为 SubLists<Product>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10295043/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com