LINQ学习笔记:创建方法
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-03-14
创建方法
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 待续! |
||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: LINQ学习笔记:量词下一篇: LINQ学习笔记:创建更加复杂查询的策略
关于LINQ学习笔记:创建方法的所有评论