zoukankan      html  css  js  c++  java
  • LINQ 标准的查询操作符 生成操作符 Range()、Empty()和Repear()

    生成操作符Range()、Empty()和Repear()不是扩展方法,而是返回序列的正常静态方法。

    在LINQ to Objects中,这些方法可用于Enumerable 类。

    有时需要填充一个范围的数字,此时就应使用Range()方法。这个方法把第一个参数作为起始值,把第二个参数作为要填充的项数。

    private static void Range()
            {
                var values = Enumerable.Range(1, 20).Select(n => n * 3);
                foreach (var item in values)
                {
                    Console.Write("{0} ", item);
                }
                Console.WriteLine();
            }

    image

    提示:Range()方法不返回填充了所定义值的集合,这个方法与其他方法一样,也推迟执行查询,返回一 
    个RangeEnumerator,其中只有一个yield return 语句,来递增值。 
    可以把该结果与其他扩展方法合并起来,获得另一个结果,例如使用Select()扩展方法: 
    Empty()方法返回一个不返回值的迭代器,它可以用于参数需要一个集合,且可以给参数传送空集合的情形。 
    Repeat()方法返回一个迭代器,该迭代器把同一个值重复特定的次数。

    标准操作符

    Where OfType<TResult> 
    过滤操作符定义了返回元素的条件。在Where 查询操作符中,可以使用谓词,例如λ 
    表达式定义的谓词,来返回布尔值。OfType<TResult>根据类型过滤元素,只返回 
    TResult 类型的元素 
    Select 和SelectMany 
    投射操作符用于把对象转换为另一个类型的对象。Select 和SelectMany 定义了根据 
    选择器函数选择结果值的投射 
    OrderBy,ThenBy 
    OrderByDescending 
    ThenByDescending 
    Reverse 
    排序操作符改变所返回的元素的顺序。OrderBy 按升序排序,OrderByDescending 按 
    降序排序。如果第一次排序的结果很类似,就可以使用ThenBy 和ThenBy Descending 
    操作符进行第二次排序。Reverse 反转集合中元素的顺序 
    Join,GroupJoin 
    连接运算符用于合并不直接相关的集合。使用Join 操作符,可以根据键选择器函数 
    连接两个集合,这类似于SQL 中的JOIN。GroupJoin 操作符连接两个集合,组合其 
    结果 
    GroupBy 组合运算符把数据放在组中。GroupBy 操作符组合有公共键的元素 
    Any,All,Contains 
    如果元素序列满足指定的条件,量词操作符就返回布尔值。Any,All 和Contains 都 
    是量词操作符。Any 确定集合中是否有满足谓词函数的元素;All 确定集合中的所有 
    元素是否都满足谓词函数;Contains 检查某个元素是否在集合中。这些操作符都返回 
    一个布尔值

    Take,Skip, 
    TakeWhile 
    SkipWhile 
    分区操作符返回集合的一个子集。Take、Skip、TakeWhile 和SkipWhile 都是分区操 
    作符。使用它们可以得到部分结果。使用Take 必须指定要从集合中提取的元素个数; 
    Skip 跳过指定的元素个数,提取其他元素,TakeWhile 提取条件为真的元素 
    Distinct,Union 
    Intersect,Except 
    Set 操作符返回一个集合。Distinct 从集合中删除重复的元素。除了Distinct 之外, 
    其他Set 操作符都需要两个集合。Union 返回出现在其中一个集合中的元素。Intersect 
    返回两个集合中都有的元素。Except 返回只出现在一个集合中的元素

    First 
    FirstOrDefault 
    Last 
    LastOrDefault 
    ElementAt 
    ElementAtOrDefault 
    Single 
    SingleOrDefault 
    这些元素操作符仅返回一个元素。First 返回第一个满足条件的元素。FirstOrDefault 类 
    似于First,但如果没有找到满足条件的元素,就返回类型的默认值。Last 返回最后 
    一个满足条件的元素。ElementAt 指定了要返回的元素的位置。Single 只返回一个满 
    足条件的元素。如果有多个元素都满足条件,就抛出一个异常 
    Count,Sum,Min, 
    Max,Average, 
    Aggregate 
    合计操作符计算集合的一个值。利用这些合计操作符,可以计算所有值的总和、元素 
    的个数、值最大和最小的元素,平均值等 
    ToArray 
    ToEnumerable 
    ToList 
    ToDictionary 
    toType<T> 
    这些转换操作符将集合转换为数组、IEnumerable、IList、IDictionary 等 
    Empty,Range, 
    Repeat 
    这些生成操作符返回一个新集合。使用Empty,集合是空的,Range 返回一系列数字, 
    Repeat 返回一个始终重复一个值的集合

    源于:http://www.cnblogs.com/TerryFeng/archive/2009/10/08/1579056.html



    返回导读目录,阅读更多随笔



    分割线,以下为博客签名:

    软件臭虫情未了
    • 编码一分钟
    • 测试十年功


    随笔如有错误或不恰当之处、为希望不误导他人,望大侠们给予批评指正。

  • 相关阅读:
    yum 下载安装包以及依赖包
    《将博客搬至CSDN》
    Lucene
    Solr
    LVS原理详解(3种工作模式及8种调度算法)
    正向代理与反向代理
    网关,网卡
    NAT地址转换
    Nginx学习总结
    网络_OSI模型_数据包传输
  • 原文地址:https://www.cnblogs.com/08shiyan/p/2046511.html
Copyright © 2011-2022 走看看