当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > LINQ学习笔记:创建方法

ASP.NET
ASP.NET实现数据图表a
ASP.NET实现数据图表1
Kbuilder.cs GIVE ME K
WebForm1.aspx K LINE YISHI GIEVE ME
ASP.NET实现数据图表b
today study 2005.03.03
ActiveX 组件复习笔记.1
Direct3D学习笔记(二)我们这里可以编写一个完全意义上的Direct3D程序了。
HttpContext类包含了个别HTTP请求的所有特定HTTP信息。
实现自定义分页(如:改变传统datagrid的分页显示、通过A-Z的字母来分页等)、选择...
关于Format字符串和Xml文件的解析(粗略)
wrox asp.net 2 beta preview study section 3
整合重复代码,生成自定义的列(组件)整合重复代码,生成自定义的datagrid(组件...
递归法提升密码穷举算法性能
如何用UltraEdit编译C#源程序
添加删除、更新按钮的提示确认信息,以及DATAGRID的添加、插入、更新、删除操作。
WebBrowser应用
My Composite in C#
DBForm的设计来源以及主要构想
.net中交易处理的解决方案

ASP.NET 中的 LINQ学习笔记:创建方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 82 ::
收藏到网摘: n/a

创建方法

方法 描述
Empty 创建一个空序列
Repeat 创建一个包含重复元素的序列
Range 创建一个包含整数的序列

Empty, Repeat和Range都是静态方法, 用于加工简单的本地序列

Empty

Empty制造一个空序列并且只需要一个类型参数:

 1: foreach (string s in Enumerable.Empty<string>())
 2: Console.Write(s); // <nothing>

与??操作符联合, Empty可以完成和DefaultIfEmpty相反的工作. 例如, 假设我们有一个锯齿形状的整型数组, 并且我们希望能够将所有的整数放入到一个扁平的列表当中. 以下的SelectMany将会失败因为输入序列包含了null的内部数组:

 1: int[][] numbers =
 2: {
 3: new int[] { 1, 2, 3 },
 4: new int[] { 4, 5, 6 },
 5: null // null会导致查询失败.
 6: };
 7:
 8: IEnumerable<int> flat =
 9: numbers.SelectMany (innerArray =>innerArray);

Empty联合??操作符可以修正此问题:

 1: IEnumerable<int> flat = numbers
 2: .SelectMany (innerArray =>
 3: innerArray ?? Enumerable.Empty <int>() );
 4:
 5: foreach (int i in flat)
 6: Console.Write (i + " "); // 1 2 3 4 5 6

Range和Repeat

Range和Repeat只能与整数一起工作. Range接受一个起始索引和取值总数:

 1: foreach (int i in Enumerable.Range (5,5))
 2: Console.Write (i + " "); // 5 6 7 8 9

Repeat接受一个接受重复的数字以及要重复的次数的参数:

 1: foreach (int i in Enumerable.Repeat (5,3))
 2: Console.Write (i + " "); // 5 5 5

待续!