LINQ分组操作符—ToLookup
在LINQ中,ToLookup
操作符是一个扩展方法,它用于从源集合中提取一组键/值对。在这里,结果集合中的每个元素都是一个通用的Lookup对象,该对象包含与该键匹配的键和子项。
LINQ方法语法中,ToLookup
与GroupBy
相同,唯一的区别是GroupBy
的执行是延迟的,而ToLookup
的执行是立即的。而且,ToLookup
只适用于方法语法,LINQ查询语法中不支持ToLookup
。
以下是使用LINQ的ToLookup
方法语法实现的按订单来源(Source)分组的示例代码:
public class MyProgram
{
static void Main(string[] args)
{
var orders = FakeData.Orders;
// LINQ分组--方法语法
var groupedResult = orders.ToLookup(x => x.Source);
// 输入并查看分组结果
foreach (var group in groupedResult)
{
// 输出分组的键(Key)
Console.WriteLine($"分组键:{group.Key}");
foreach (var order in group)
{
Console.WriteLine($"\t{order.Id},{order.Customer},{order.Price},{order.Source}");
}
}
Console.ReadKey();
}
}
运行结果如下:
分组键:线上
1,Rector,3699,线上
2,James,2699,线上
4,Steven,5699,线上
6,Rector,5699,线上
分组键:线下
3,Chris,1999,线下
5,Jo,2569,线下
发表评论
登录用户才能发表评论, 请 登 录 或者 注册