首页 / 教程列表 / LINQ教程 / LINQ操作符之ToLookup

LINQ操作符之ToLookup

1319 更新于: 2021-11-18 读完约需 3 分钟

LINQ分组操作符—ToLookup

在LINQ中,ToLookup操作符是一个扩展方法,它用于从源集合中提取一组键/值对。在这里,结果集合中的每个元素都是一个通用的Lookup对象,该对象包含与该键匹配的键和子项。

LINQ方法语法中,ToLookupGroupBy相同,唯一的区别是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,线下

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

本文永久链接码友网 » LINQ教程 » LINQ操作符之ToLookup 分享:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册