一个使用Linq的小技巧
2008-08-05 15:46
507 查看
先定义一些我们使用的类:
static void Main(string[] args)
我们之需要用一下SelectMany就可以了,不用去用foreach进行两次遍历。SelectMany在MSDN中的解释:将序列的每个元素投影到 IEnumerable(T) 并将结果序列合并为一个序列。
Select 与 SelectMany 都属于投影运算
Select() 和 SelectMany() 的工作都是依据源值生成一个或多个结果值。Select() 为每个源值生成一个结果值。因此,总体结果是一个与源集合具有相同元素数目的集合。与之相反,SelectMany() 将生成单一总体结果,其中包含来自每个源值的串联子集合。作为参数传递到 SelectMany() 的转换函数必须为每个源值返回一个可枚举值序列。然后,SelectMany() 将串联这些可枚举序列以创建一个大的序列。
参考MSDN:
ms-help://MS.MSDNQTR.v90.chs/fxref_system.core/html/3371348f-7811-b0bc-8c0a-2a595e08e086.htm
http://msdn.microsoft.com/zh-cn/library/bb546168.aspx
static void Main(string[] args)
我们之需要用一下SelectMany就可以了,不用去用foreach进行两次遍历。SelectMany在MSDN中的解释:将序列的每个元素投影到 IEnumerable(T) 并将结果序列合并为一个序列。
Select 与 SelectMany 都属于投影运算
Select() 和 SelectMany() 的工作都是依据源值生成一个或多个结果值。Select() 为每个源值生成一个结果值。因此,总体结果是一个与源集合具有相同元素数目的集合。与之相反,SelectMany() 将生成单一总体结果,其中包含来自每个源值的串联子集合。作为参数传递到 SelectMany() 的转换函数必须为每个源值返回一个可枚举值序列。然后,SelectMany() 将串联这些可枚举序列以创建一个大的序列。
参考MSDN:
ms-help://MS.MSDNQTR.v90.chs/fxref_system.core/html/3371348f-7811-b0bc-8c0a-2a595e08e086.htm
http://msdn.microsoft.com/zh-cn/library/bb546168.aspx
相关文章推荐
- 使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之三
- 使用wildfire和linq在一个客户端整合QQ,MSN,Gtalk
- 关于如何使用VS高亮显示无扩展名源码文件的一个小技巧
- LotusScript中使用ArrayAppend的一个小技巧
- videoview使用的一个小技巧
- 使用控件的一个小技巧
- LINQ下使用三层架构的探索(四)建立一个逻辑访问层,并且添加一些查询方法
- 使用GridLayout布局时的一个小技巧(margin)
- 使用DWR时动态生成TABLE的一个小技巧
- 小技巧:SP下,如何使用ListBox+SPIN组成一个没有空隙的ComboBox
- Python中AND、OR的一个使用小技巧
- 在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。
- Linq to sql中如何使用一个统一事务保存级联表格
- VS2015使用小技巧 给一个项目添加类
- Python:通过自定义系统级快捷键来控制程序开始或停止记录日志(使用小技巧解决一个貌似无解的问题)
- 使用linq机制 实现datatable连表查询 结果赋值到一个新的datatable
- 小技巧:??运算符与Linq配合使用 【转】
- 如何使用MSDN搜索STL相关知识的一个小技巧
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
- 使用GridLayout时的一个小技巧