本文介绍了LINQ - GROUPBY一个键,然后将每个项目分组到单独的“水桶”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的项目,如这样的列表:
I have a list of items as such:
public class Item
{
public int ItemId { get; set; }
public string ItemName { get; set; }
public int ListId { get; set; }
}
1测试1 1
2的Test2 1
3 Test3的1
4表2
5列表2 2
6测试3
7 Testing2 3
8 Testing3 3
有没有办法对我来说,小组由 ListId
,并把它们放到每个单独的水桶,即 ListId1
桶将所有项目 ListId == 1
。这份名单是动态的SQL返回的,所以我不知道前手多少ListId会有的。谢谢你。
Is there a way for me to group by the ListId
and put them into each separate buckets, i.e, ListId1
bucket will have all items with ListId == 1
. The list is dynamically returned from SQL, so I don't know before hand how many ListId there will be. Thanks.
推荐答案
您可以使用 GROUPBY :
var groups = items.GroupBy(item => item.ListId);
foreach(var group in groups)
{
Console.WriteLine("List with ID == {0}", group.Key);
foreach(var item in group)
Console.WriteLine(" Item: {0}", item.ItemName);
}
这篇关于LINQ - GROUPBY一个键,然后将每个项目分组到单独的“水桶”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!