Linq中的SelectMany方法

来源:互联网 发布:手机淘宝领取虾米vip 编辑:程序博客网 时间:2024/05/22 03:40

版权声明

请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。

 

 

 

先定义一些我们使用的辅助类:

 

说明:
类School下面有一个Class的集合,每个Class下面有有一个Student的集合。每个学生有Name和Sex两个属性。现在需要遍历School下面的所有的学生,当然我们可以用两个嵌套的foreach语句类遍历School下面的所有的Class,然后再用foreach来遍历Class下面的所有的Student,把他们添加到一个List里去。这个场景也是实际编程中经常遇到的。有了Linq我们就可以大大的简化我们的代码:

 

 

 

我们之需要用一下SelectMany就可以了,不用去用foreach进行两次遍历。SelectMany在MSDN中的解释:将序列的每个元素投影到 IEnumerable(T) 并将结果序列合并为一个序列。
参考MSDN:
ms-help://MS.MSDNQTR.v90.chs/fxref_system.core/html/3371348f-7811-b0bc-8c0a-2a595e08e086.htm