美文网首页
LINQ 查询(2)

LINQ 查询(2)

作者: Ritchie_Li | 来源:发表于2022-06-23 21:27 被阅读0次

1. 类型筛选

          object[] data = { "one", 2, 4, "Four", "five", 6 };

            var query = data.OfType<string>();

            foreach (var s in query)

            {

                Console.WriteLine(s);

            }

输出: "one",  "Four", "five"

2. 复合查询

var ferrariDrivers = from r in Formula1.GetChampions()

                                from c in r.Cars

                                where c == "Ferrari"

                                orderby r.LastName

                                select r.FirstName + " " + r.LastName;

使用方法的复合查询

var ferrariDrivers = Formula1.GetChampions()

                .SelectMany(r => r.Cars, (r, c) => new { Racer = r, Car = c })

                .Where(r => r.Car == "Ferrari")

                .OrderBy(r => r.Racer.LastName)

                .Select(r => r.Racer.FirstName + " " + r.Racer.LastName);

3. 分组

var countries = from r in Formula1.GetChampions()

                            group r by r.Country into g

                            orderby g.Count() descending, g.Key

                            where g.Count() >= 2

                            select new

                            {

                                Country = g.Key,

                                count = g.Count()

                            };

使用方法分组

var countries = Formula1.GetChampions()

                .GroupBy(r => r.Country)

                .OrderByDescending(g => g.Count())

                .ThenBy(g => g.Key)

                .Where(g => g.Count() >= 2)

                .Select(g => new

                {

                    Country = g.Key,

                    count = g.Count()

                });

嵌套对象的分组

var countries = from r in Formula1.GetChampions()

                            group r by r.Country into g

                            let count = g.Count()

                            orderby count descending, g.Key

                            where count >= 2

                            select new

                            {

                                Country = g.Key,

                                Count = count,

                                Racers = from r1 in g

                                        orderby r1.LastName

                                        select r1.FirstName + " " + r1.LastName

                            };

相关文章

  • LINQ入门

    linq是语言集成查询。 linq to object :面向对象的查询。 linq to xml:针对xml查询...

  • Lession12-LINQ

    LINQ简介 编写一个扩展方法 LINQ查询方法 LINQ查询的延迟加载 Linq标准查询操作符 LinqToXML

  • EF Core 备忘

    模糊查询sql linq 内连接查询sql linq 左连接查询sql linq 左连接查询(连接内带条件)sql...

  • LINQ 查询(2)

    1. 类型筛选 object[] data = { "one", 2, 4, "Four", "five...

  • LINQ

    什么是linq? linq是语言集成查询。 linq主要包含三部分 linq to xml linq to obj...

  • LINQ 简单使用

    语言集成查询 (LINQ) LINQ(Language Integrated Query)语言集成查询是一组用于 ...

  • Linq用法笔记

    一、什么是Linq? LINQ即Language Integrated Query(语言集成查询),LINQ是集成...

  • (转).NET面试题系列[14] - LINQ to SQL与I

    LINQ to Object和LINQ to SQL有何区别? LINQ to SQL可以将查询表达式转换为SQL...

  • linq延迟执行

    linq查询的两种方式 1.Method语法查询:主要利用system linq Enumerable类中定义的扩...

  • 四.SolidWorks 开发之Linq初探

    SolidWorks开发之Linq初探 一.何为Linq 语言集成查询(英语:Language Integrate...

网友评论

      本文标题:LINQ 查询(2)

      本文链接:https://www.haomeiwen.com/subject/xhvmvrtx.html