我有一个这样的项目列表:
public class Item
{
public int ItemId { get; set; }
public string ItemName { get; set; }
public int ListId { get; set; }
}
1 测试 1 1
2 测试 2 1
3 测试 3 1
4 list 2
5 List2 2
6 测试 3
7 测试2 3
8 测试3 3
有没有办法让我按 ListId
分组并将它们放入每个单独的桶中,即 ListId1
桶将包含所有 ListId = = 1
。该列表是从 SQL 动态返回的,所以我事先不知道会有多少 ListId
。
最佳答案
您可以使用 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);
}
关于c# - LINQ - GroupBy 一个键,然后将每个分组的项目放入单独的 'buckets',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6618847/