`
terryfeng
  • 浏览: 489814 次
  • 性别: 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标准查询操作符LINQ标准查询操作符LINQ标准查询操作符LINQ标准查询操作符

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

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

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

    LINQ标准查询操作符,对linq的扩展方法作了非常详细的描述,配合了,相当好懂的例子。非常不错,我已经看完了,5星推荐。

    LINQ 的标准查询操作符

    语言集成查询 (LINQ) ...除强类型化语法外,LINQ 查询还具有一个标准查询操作符库来增强其功能。这些标准查询操作符对序列进行运算并可执行各种运算,如确定序列中是否存在某个值以及对序列运行合计函数(如求和)。

    LINQ标准查询操作符.pdf

    Linq 查询语法,作者收集的很详细并配有简单的实例。pdf格式

    LINQ的标准查询操作符

    语言集成查询(LINQ)允许开发人员通过类型化语法使用Micrisoft.net Framework3.5代码编写类似SQL的查询.....(本资料使用LINQ来执行实际的查询和运算)

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

    Linq操作符27个常用说明,对Linq to OBJECT进行了详细说明,包括Where,Select,SelectMany,Take,TakeWhile,Skip,SkipWhile,Concat,OrderBy,OrderByDescending,ThenBy等

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

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

    LINQ 标准查询操作符

    本文介绍了LINQ标准查询操作符。没有这些操作符,LINQ就不会存在。本文为理解这些操作符的功能提供了很好的基础。了解它们将会很有帮助,因为LINQ的各种Provider都是基于这些操作符来完成各自丰富的功能。

    LinQ(Language Integrated Query)体验

    LINQ定义了一组标准查询操作符用于在所有基于.NET平台的编程语言中更加直接地声明跨越、过滤和投射操作的统一方式,标准查询操作符允许查询作用于所有基于IEnumerable接口的源,并且它还允许适合于目标域或技术的第...

    LINQ简要技术~~~

    2.3. 分区操作符 3 2.4. 串联操作符 3 2.5. 排序操作符 4 2.6. 连接操作符 4 2.7. 集合操作符 6 2.8. 转换操作符 6 2.9. 元素操作符 7 2.10. 生成操作符 7 第3章 非延迟操作符 8 3.1. 转换操作符 8 3.2. 相等操作符 ...

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

    linq 简单查询,分页

    linq简单查询,可实现分页,linq to sql

    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...

    Linq学习例子

    LINQ定义了一组标准查询操作符用于在所有基于.NET平台的编程语言中更加直接地声明跨越、过滤和投射操作的统一方式,标准查询操作符允许查询作用于所有基于IEnumerable接口的源,并且它还允许适合于目标域或技术的第...

    linq 简单查询示例

    linq 简单查询示例,union,select,from,where,contact

Global site tag (gtag.js) - Google Analytics