生成操作符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();}

提示: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

转载于:https://www.cnblogs.com/08shiyan/archive/2011/05/14/2046511.html

LINQ 标准的查询操作符 生成操作符 Range()、Empty()和Repear()相关推荐

  1. LINQ标准查询操作符详解

     一. 关于LINQ        LINQ 英文全称是"Language-Integrated Query",中文为"语言集成查询",它是微软首席架构师.De ...

  2. LINQ标准查询操作符

    本文基于.NET Framework 2.0编写 本文PDF下载 推荐大家下载本文的PDF进行阅读,可以方便的使用书签来阅读各个方法,而且代码中的关键字是高亮显示的. 转载请注明出处. 一.投影操作符 ...

  3. Linq标准查询运算及用法

    Linq中的查询运算符: Where,                                      获得只满足条件的元素 Select,SelectMany,               ...

  4. oracle连接操作符,Oracle操作符,函数

    SQL 操作符 Oracle 支持的 SQL 操作符分类如下: 操作符介绍(一) 算术操作符 用于执行数值计算 可以在SQL语句中使用算术表达式,算术表达式由数值数据类型的列名.数值常量和连接它们的算 ...

  5. 【C语言】算数操作符 移位操作符 以及 sizeof单目操作符讲解

    目录 1.算术操作符 2. 移位操作符 2.1 左移操作符 2.2 右移操作符 3.sizeof 单目操作符介绍 操作符介绍: C语言操作符分为: 算术操作符 移位操作符 位操作符 赋值操作符 单目操 ...

  6. CIKM 2020 | 知识库问答复杂问题的分层查询图生成方法

    ©PaperWeekly 原创 · 作者|舒意恒 学校|南京大学硕士生 研究方向|知识图谱 导读 本文讨论知识库问答(KBQA)中查询图生成的强化学习方法.给定一个自然语言问题,知识库问答尝试自动从存 ...

  7. ACL 2020 | 知识库问答的多跳复杂问题查询图生成

    ©PaperWeekly 原创 · 作者|舒意恒 学校|南京大学硕士生 研究方向|知识图谱 先前从知识库回答复杂问题的工作通常分别解决两种类型的复杂性:具有约束的问题和具有多跳关系的问题. 在本文中, ...

  8. (3) Hibernate的查询 标准(Criteria)查询

    Hibernate的查询 标准(Criteria)查询 1 一个简单例子: Java代码   @SuppressWarnings("unchecked") public void ...

  9. Entity Framework 4 in Action读书笔记——第四章:使用LINQ to Entities查询:使用函数...

    4.7 使用函数 扩展LINQ to Entities查询的简便方法就是使用函数.有四种类型的函数可以应用: 规范函数-LINQ to Entities本身没有提供的一组预定义的函数. 数据库函数-一 ...

最新文章

  1. 利用ServletFileUpload组件上传文件
  2. nginx子域名 linux,配置nginx服务器 —— Nginx添加多个二级子域名
  3. 使用OpenCV计算图像的轮廓矩的代码
  4. dr优先级默认_OSPF中的DR/BDR的选取规则:DR优先级,Router ID
  5. tt公路车Java配置怎么样_普通公路车换TT车把可以吗,别的东西还有需要换的吗?...
  6. 一个戏精程序员的内心独白...
  7. TensorFlow 实现深度神经网络 —— Denoising Autoencoder
  8. 大数 Buy the tickey玄学
  9. 请领导审阅并提意见应怎么说_成功的领导是怎样跟下属沟通的?在交谈的时候,应当注意这三点...
  10. 【影视APP】分享一个影视APP源码
  11. 【MATLAB】求偏导数
  12. java端口扫描器_简单端口扫描器java的设计与实现.doc
  13. webbrowser点击网页内部链接阻止从IE打开
  14. Newton冷却定理微分数学公式推导
  15. VS2010的Ribbon怎样调用透明背景的图标
  16. 基于RouteOS的NAT Radius网络计费管理实验
  17. 管理计算机找不到应用程序,Win7计算机管理提示找不到文件或没有关联的程序问题解决方法...
  18. css鼠标经过字体抖动,jQuery+css3实现文字跟随鼠标的上下抖动
  19. jquery表格插件jqgrid
  20. 深圳大学软工专硕数二英二改为数一英一,计算机专硕改为英一

热门文章

  1. 穿透还原12.1新变种病毒样本
  2. linux内存布局 zone,【原创】(八)Linux内存管理 - zoned page frame allocator - 3
  3. mysql-8.0.14zip怎么使用_mysql 8.0.14 安装配置方法图文教程(通用)
  4. java保护访问,Java中的受保护的访问修饰符
  5. java课程设计qq,模块java课程设计报告qq聊天
  6. ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效---解决方法
  7. Linux中的docker top命令
  8. ionic Toggle(开关控件)
  9. python多线程tcp客户端_基于Python多线程的TCP客户端/服务端应用示例
  10. JAVA字符串功能,Java分析字符串功能