zoukankan      html  css  js  c++  java
  • Linq中常用的方法

    这几天闲着也是闲着,就仔细的研究了一下Linq的语法,还有他的一些扩展方法的使用。

    下面是一些常用的扩展方法。

    Aggregate          

    自定义的聚合计算

    All                

    检测序列中所有元素是否都满足指定的条件

    Any                

    检测序列中是否存在满足指定条件的元素

    Average                

    计算序列中元素的平均值

    Cast                

    将序列中元素的类型转换成指定的类型(TResult参数指定)

    Contact                

    将一个序列中的元素全部追加到另一个序列中,并构成一个新的序列。

    Contains        

    检测序列中是否存在指定的元素。

    Count                

    计算序列中元素的数量,或者计算序列中满足条件元素的数量。

    DefaultIfEmpty        

    返回IEnumerable<T>类型的序列。如果序列为空,则返回只包含一个元素(值为默认值或指定的值)的序列

    Distinct                

    可以去掉数据源中重复的元素,并返回一个新序列。另外,他还可以指定一个比较器来比较两个元素是否相同。

    Element         

    返回集合中指定索引处的元素。

    ElementAtOrDefault

    返回集合中指定索引处的元素。如果索引超出集合的范围,则返回默认值

    Empty                 

    返回IEnumerable<T>类型的空序列

    EqualAll/SequenceEqual

    判断两个序列是否相等。

    Except                        

    可以计算两个集合的差集(由在一个集合中而不在另一个集合中的元素组成的集合)

    First                

    返回集合的第一个元素,或者返回集合中满足制定条件的第一个元素。

    FirstOrDefault                

    返回集合的第一个元素,或者返回集合中满足制定条件的第一个元素。如果不存在满足该条件的元素,则返回默认元素。

    GroupBy                

    对序列中的元素进行分组

    GroupJoin                

    他产生分层数据结构,降低一个集合中的每一个元素与第二个集合中的一组相关元素进行匹配。在查询结果中,第一个集合中的元素都会出现在查询结果中。如果第一个集合中的元素在第二个集合中找到相关的元素,则使用被找到的元素,否则使用空

    Intersect                

    可以计算两个集合的交集(元素即在第一个序列中,也在第二个序列中)

    Join                 

    要求元素的连接关系必须同时满足被链接的两个数据源,和SQL语句中的inner join字句相似

    Last                

    返回集合的最后一个元素,或者返回集合的满足指定条件的最后一个元素。

    LastOrDefault        

    返回集合的最后一个元素,或者返回集合的满足指定条件的最后一个元素。如果出存在满足该条件的元素,则返回默认元素。

    LongCount                

    计算序列中元素的数量,或者计算序列满足一定条件的元素的数量。一半计算大型集合中的元素的数量。

    Max                        

    计算序列中元素的最大值。

    Min                 

    计算序列中元素的最小值。

    OfType                

    从序列中筛选指定类型的元素,并构成为一个序列。

    OrderBy                        

    根据关键字对序列中的元素升序。

    OrderByDescending        

    根据关键字对序列中的元素降序。

    Range                

    返回指定范围的数字序列。

    Repeat                

    返回IEnumerable<T>类型的包含一个重复值得序列。

    Reverse                                

    将序列中的元素的顺序进行反转。

    Select                        

    将数据源中的元素投影到新序列中,并指定元素的类型和表现形式。

    SelectMany                

    可以将数据源中的元素投影到新序列中,并制定元素的类型和表达式。

    Single                        

    返回集合的唯一元素,或者返回集合的满足指定条件的唯一元素。

    SingleOrDefault                

    返回集合的唯一元素,或者返回集合的满足指定条件的唯一元素。如果不存在满足该条件的元素,则返回默认元素。

    Skip                        

    跳过数据源(序列)中指定数量的元素,然后返回剩余的元素或序列。

    SkipWhile        

    跳过数据源(序列)中满足指定条件的元素,然后返回剩余的元素或序列。

    Sum                        

    计算序列中元素的和。

    Take                        

    从数据源(序列)的开头开始提取指定数量的元素。然后返回有这些元素组成的序列。

    TakeWhile        

    从数据源(序列)的开头开始提取满足指定条件的元素。然后返回有这些元素组成的序列。

    ThenBy                

    根据次要关键字对序列中的元素按升序排序。

    ThereByDescending

    根据次要关键字对序列中的元素按降序排列。

    ToArray                

    IEnumerable<T>类型的序列转换为T[]类型的数组。

    ToDictionary        

    按照键值将序列中的元素放入一对一的字典序列(Dictionary<TKey,TValue>)中。

    ToList                

    IEnumerable<T>类型的序列转换为List<T>类型的序列。

    ToLookup

    按照键值将序列中的元素放入一对多的字典序列(Lookup<TKey,TValue>)中。

    Union        

    可以计算两个集合的并集(由在一个集合中,或者在另外一个集合中的元素组成的集合)

    Where                

    处理由逻辑运算符(如逻辑""、逻辑"")组成的逻辑表达式,并从数据源中筛选数据。

    这些方法大致有可以分成几类:

    投影操作 

          Select

      SelectMany、

    链接操作 

      Join

      GroupJoin

    筛选操作

      Where

    排序操作

      OrderBy

      OrderByDescending

      ThereBy

      ThereByDescending

      Reverse

    聚合操作

      Max

      Min

      Count

      LongCount

      Sum

      Aggregate

    集合操作

      Distinct

      Except

      Intersect

      Union

    元素操作

      Element

      ElementAtOrDefault

      First

      FirstOrDefault

      Last

      LastOrDefault

      Single

      SingleOrDefault

    数据类型转换操作

      AsQueryable : 可以将数据源转换成IQueryable<T>或者IIIIIQueryable的集合序列。

      AsEnumerable : 可以将数据源转换成IEnumerable<T>或者IEnumerable的集合序列。

      Cast : 将序列中元素的类型转换为指定类型。

      OfType :从序列中筛选一个指定类型的元素,并构成一个序列。

      ToArray : 将一个IEnumerable<T>的序列转换成一个T[]类型的一个数组。

      ToList : 将一个IEnumerable<T>的序列转换成一个List<T>类型的一个序列。

      ToDictionary : 按照键值将序列中的元素放入到一对一的字典序列中。

      ToLookup :按照键值将序列中的元素放入到一对多的字典序列中。

    限定符操作

      All

      Any

      Contains

    还有

      Skip

      SkipWhile

      Take

      TakeWhile

      Contact

      SequenceEqual

  • 相关阅读:
    Android WIFI 启动流程(TIP^^)
    MVVM模式原则
    CoreData入门
    转:iOS绘制一个UIView
    CGBitmapContextCreate函数参数详解
    RACCommand
    ReactiveCocoa内存管理
    IOS TableView滑动不灵敏问题
    IOS数组的排序和筛选
    IOS取消performSelector警告
  • 原文地址:https://www.cnblogs.com/ansheng/p/4731845.html
Copyright © 2011-2022 走看看