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

ASP.NET
ASP.NET FORUMS换肤流程
关于webservice的异步调用简单实例
nhibernate数据加载之Criteria加载
C# 把指定控件显示在最上面
VB面向对象编程的一个简单的演示程序
关于如何利用COM+,来提高ASP执行权限的问题!
ASP.NET跨应用程序进行登录的解决
在快捷方式的右键菜单上添加打开所在目录的菜单项
XML简明教程(一)
使用自定义的数据源进行DataGrid控件的数据绑定
提供两种散列加密算法:MD5、SHA1。大小写敏感
把鼠标放在Form的边缘上不会出现可拉动
The custom tool 'CrystalDecisions.VSDesigner.CodeGen.ReportCodeGenerator' failed
Split的用法
利用XSD生成強類型類文件和描述文件
关于datagrid中的字符串转换
C#中来应用Hook
Get your Crystal report working on your customers server (Cannot find Keycod...
C#中如何插入照片到Excel
.net中Web自定义控件编写注意事项

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


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

待续!