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

ASP.NET
Visual Studio.Net 内幕(7)
.Net 2.0 原汁原味读取注册表
ASP.NET 2.0中预设的cookie
ASP.NET:一段比较经典的多线程学习代码
ASP.NET2.0服务器控件之自定义状态管理
Asp.net给站点某目录增加Aspnet用户
ASP.NET技巧:请求网址并解析返回的html
在Asp.net用C#建立动态Excel
ASP.NET2.0:页面中链入的CSS、js文件带中文时需注意
ASP.NET技巧:数据岛出到Excel最为简易的方法
第一次用.net2.0 LOGIN登陆控件的困惑和解决方法
在ASP.net中保存/取出图片入/从SQL数据库
ASP.NET技巧:做个DataList可分页的数据源
在.NET中利用委托实现窗体间通信
在.NET2.0中使用自定义事务操作
解决 ASP.NET中目录访问权限的问题
ASP.Net防止刷新自动触发事件的解决方案
白刃之战:PHP vs. ASP.NET(节选)-架构比较
C#中使用SendMessage
提取HTML代码中文字的C#函数

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 103 ::
收藏到网摘: 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

待续!