博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LINQ基础学习2
阅读量:5135 次
发布时间:2019-06-13

本文共 1386 字,大约阅读时间需要 4 分钟。

1、分区运算符

分区运算符主要有四个Take、TakeWhile、Skip、SkipWhile

分区运算符可以帮我们只取得需要的数据,对分页支持很好。

(1)Take

    获取数组前三个元素

    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };    
    var first3Numbers = numbers.Take(3);

(2)TakeWihle

   获取数组中数字不小于索引的元素,直到遇到数字小于索引的结束

    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };    

    var firstSmallNumbers = numbers.TakeWhile((n, index) => n >= index);

    结果:5 4

(3)Skip

  获取数组从除去前3个元素以外的集合

    int[] numbers = { 5, 4, 1, 3, 9};    
    var allButFirst4Numbers = numbers.Skip(3);

    结果:3 9

(4)SkipWhile

    获取数组中从第一个能被 3 整除的元素开始的所有元素

    int[] numbers = { 5, 4, 1, 3, 9, 8};

   
    // 在 lambda 表达式中,“n”是输入参数,连续标识
    // 集合中的每个元素。它被推断为
    // int 类型,因为数字是一个 int 数组。
    var allButFirst3Numbers = numbers.SkipWhile(n => n % 3 != 0);

2.排序运算符

排序运算符主要有OrderBy 、ThenBy、Reverse

(1)OrderBy 

    string[] words = { "cherry", "apple", "blueberry" };    
    var sortedWords =
        from word in words
        orderby word.Length
        select word;

(2)ThenBy

    var sorted=

        from digit in words
        orderby digit.Length, digit descending
        select digit;

(3)Reverse

    var reversed = (

        from digit in words
        where digit[1] == 'i'
        select digit)
        .Reverse();

(4)自定义比较器

   var selfWords =

        words.OrderBy(a => a.Length)
             .ThenByDescending(a => a, new CaseInsensitiveComparer());

public class CaseInsensitiveComparer : IComparer<string>

{
    public int Compare(string x, string y)
    {
        return string.Compare(x, y, StringComparison.OrdinalIgnoreCase);
    }
}

转载于:https://www.cnblogs.com/liujp/archive/2012/08/21/2649366.html

你可能感兴趣的文章
c风格字符串函数
查看>>
python基础学习第二天
查看>>
java可重入锁reentrantlock
查看>>
浅谈卷积神经网络及matlab实现
查看>>
struts2学习(9)struts标签2(界面标签、其他标签)
查看>>
Android 导入jar包 so模块--导入放置的目录
查看>>
解决ajax请求cors跨域问题
查看>>
Android Studio
查看>>
zz 圣诞丨太阁所有的免费算法视频资料整理
查看>>
【大数模板】C++大数类 大数模板
查看>>
【123】
查看>>
《收获,不止Oracle》pdf
查看>>
用户权限设置
查看>>
java 之equals与"=="的区别
查看>>
LinkedList<E>源码分析
查看>>
学习微软 Excel 2002 VBA 编程和XML,ASP技术
查看>>
游戏开发常用算法
查看>>
Real-Time Rendering 笔记
查看>>
如何理解HTML结构的语义化
查看>>
Intellij IDEA(eclipse设置)常用快捷键
查看>>