`
terryfeng
  • 浏览: 504526 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

LINQ 标准的查询操作符 分区 Take 、Skip 、TakeWhile 、SkipWhile

阅读更多

扩展方法Take()和Skip()等的分区操作可用于分页,例如显示5×5 个赛手。
在下面的LINQ 查询中,扩展方法Take()和Skip()添加到查询的最后。

Skip()方法先忽略根据页面的大小和实际的页数计算出的项数,

再使用方法Take()根据页面的大小提取一定数量的项:

 

private static void Partitioning()
        {
            int pageSize = 5; //页尺寸

            int numberPages = (int)Math.Ceiling(Formula1.GetChampions().Count() / (double)pageSize); //获得页数

            for (int page = 0; page < numberPages; page++)
            {//page 是当前页
                Console.WriteLine("Page {0}", page);
                var racers = (from r in Formula1.GetChampions()
                              orderby r.LastName
                              select r.FirstName + " " + r.LastName).Skip(page * pageSize).Take(pageSize);
                           //注意括号后的调用代表鲜活的结果集再调用这个扩展方法Skip跳过多少条,之后Take取出多少条结果

                foreach (var name in racers)
                {
                    Console.WriteLine(name);

                }
                Console.WriteLine();
            }

        }

 

分页在Windows 或Web 应用程序中非常有用,可以只给用户显示一部分数据。
提示:这个分页机制的一个要点是,因为查询会在每个页面上执行,所以改变底层的数据会影响结果。在
继续执行分页操作时,会显示新对象。根据不同的情况,这对于应用程序而言可能是一个优点。如果这个操作
是不需要的,就可以只对原来的数据源分页,然后使用映射到原数据上的高速缓存。
使用TakeWhile()和SkipWhile()方法,还可以传送一个谓词,根据谓词的结果提取或跳过某些项。

image

分享到:
评论

相关推荐

    linq标准查询操作符

    本文主要讨论的是LINQ的标准查询操作符,这些操作符用于构建查询表达式,对数据进行过滤、转换、排序等操作。 首先,我们来看投影操作符,其中最常见的是`Select`。`Select`用于从输入序列中选择新的元素或对象。在...

    LINQ标准查询操作符.pdf

    ### LINQ标准查询操作符详解 #### 一、投影操作符 **1. Select** - **定义**: `Select`操作符用于对集合中的每个元素应用指定的函数,并将结果返回为一个新的序列。此操作通常用来从原始数据集中提取特定属性或...

    LINQ标准查询操作符[收集].pdf

    "LINQ标准查询操作符[收集].pdf"这份文档详细介绍了LINQ查询中的核心组件——标准查询操作符。 标准查询操作符是一系列静态方法,它们作为扩展方法应用到 IEnumerable 和 IQueryable 接口上,使得开发者能够以声明...

    LINQ的标准查询操作符

    ### LINQ的标准查询操作符详解 #### 一、概述 语言集成查询(Language Integrated Query,简称LINQ)是一项革命性的技术,它使得.NET Framework 3.5中的开发人员能够使用类似SQL的语言来查询数据,而不仅仅是关系型...

    LINQ标准查询操作符(pdf中文版)---通俗易懂

    ### LINQ标准查询操作符详解 #### 一、投影操作符 **1. Select** `Select` 是一种常用的投影操作符,它允许我们基于输入序列中的每个元素创建一个新序列。这种操作通常用来改变序列中元素的数据类型或者提取特定...

    LINQ 的标准查询操作符

    **LINQ标准查询操作符详解** 语言集成查询(LINQ)是.NET Framework 3.5引入的一项重要特性,它允许开发者使用类似SQL的语法在C#或VB.NET中进行强类型化的查询。LINQ的核心是它的标准查询操作符库,这些操作符提供...

    VB.NET LINQ各项查询操作示例

    这是accessoft上,作者:煮江品茶 写的一个...摘 要:【VB.NET小品】LINQ标准操作符示例 正 文: LINQ是VS中的一个通用的数据查询技术,该技术简化了对SQL、XML等数据的查询。本示例介绍LINQ的标准查询符的使用方法。

    Linq操作符27个常用说明.docx

    ### Linq操作符27个常用说明 #### 1. Where 操作符 - **功能描述**:`Where` 操作符用于筛选出输入集合中符合特定条件的元素,并将其组织成一个新的序列。 - **应用场景**:当你需要从现有集合中筛选出一部分满足...

    linq 简单查询,分页

    在IT领域,尤其是在软件开发与数据库操作中,LINQ(Language Integrated Query)作为一种强大的查询语法,为.NET开发者提供了更为简洁、高效的数据处理方式。本文将深入解析“LINQ简单查询,分页”这一主题,从基础...

    LINQ Samples.zip

    7. **分区操作符**(LINQ - Partitioning Operators): `Take`用于获取集合的前n个元素,`Skip`则用于跳过集合的前n个元素,这两个操作符常用于分页查询。`TakeWhile`和`SkipWhile`则根据指定的条件来决定取哪些...

    linq 简单查询示例

    LINQ(Language Integrated Query,语言集成查询)是.NET框架中的一项重要特性,它为C#和Visual Basic等编程语言提供了内置的查询能力,使得开发者能够更方便地对各种数据源进行查询操作。在这个"linq 简单查询示例...

    ch04-linq查询之聚会类,排序类,分区类,集合类等.rar

    《LINQ查询:聚会类、排序类、分区类与集合类详解》 LINQ(Language Integrated Query,语言集成查询)是.NET Framework中的一个重要特性,它为C#和Visual Basic等编程语言提供了统一的查询语法,使得对数据的操作...

    Linq动态查询、行转列

    在这个例子中,`"Price &gt; @0"`是动态查询字符串,`@0`是占位符,对应于参数`100`。 接下来,我们探讨如何实现行转列。在数据分析中,行转列是常见的需求,例如,将多行数据转换为单行,每列代表一个特定的属性。在...

    ch03-linq的各类高级查询视频教学.rar

    3. 查询操作符:深入探讨各种查询操作符,如Join用于连接不同数据源,OrderBy和OrderByDescending用于排序,Skip和Take用于分页等。 4. Lambda表达式:解释Lambda表达式在LINQ中的应用,它是定义查询操作符的关键。...

    LINQ 实战 7/11

    2.5.2 更多使用LINQ标准查询操作符的例子 50 2.5.3 将扩展方法引入到实例程序中 51 2.5.4 注意事项 52 2.6 匿名类型 54 2.6.1 使用匿名类型组合数据 55 2.6.2 没有名字的类型也是类型 55 2.6.3 使用...

    Linq 的一些例子

    LINQ - 排序操作符 此示例显示了不同用途的排序操作符 LINQ - 集合运算符 此示例显示了不同用途的集合运算符。 LINQ - 查询执行 此示例显示了不同用途的查询执行 LINQ - 分区运营商 此示例显示了不同用途的分区运营...

    LINQ入门及应用 10/13

     4.3.5 Take、TakeWhile、Skip、SkipWhile小结  4.3.6 Reverse方法  4.3.7 Distinct方法  4.3.8 Union方法  4.3.9 Concat方法  4.3.10 Intersect方法  4.3.11 Except方法  4.3.12 Range方法  4.3.13 Repeat...

Global site tag (gtag.js) - Google Analytics