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

ASP.NET
关于数据绑定在Web页面呈现效果的一点小技巧
菜鸟模仿duwamish开发时常见的错误
基于.net的快速开发思想
ASP.Net实现将Word转换PDF格式
用ASP.NET建立一个在线RSS新闻聚合器
ASP.NET图象处理详解
名称地址(Namespace)
Win中Net命令的另类用法
浅析.Net下的多线程编程
构造.NET环境下的网页下载器 (1)
构造.NET环境下的网页下载器 (2)
ASP.NET编程中的十大技巧(上)
ASP.NET编程中的十大技巧(下)
C# 3.0语言详解之基本的语言增强
Windows.NET Server: XML Web 服务
ASP.Net中程序构架与程序代码的分离
.NET 数据访问架构指南
用Visual C#打造多页面网页浏览器
.NET 2.0 基础类库中的范型:范型集合
.NETCompactFramework的使用技巧

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


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

待续!