Difference Between Select and SelectMany
来源:互联网 发布:废钞令 知乎 编辑:程序博客网 时间:2024/05/22 12:06
定义:
Select<TSource, TResult>(IEnumerable<TSource>, Func<TSource, Int32, TResult>)
Projects each element of a sequence into a new form by incorporating the element's index.
SelectMany<TSource, TResult>(IEnumerable<TSource>, Func<TSource, IEnumerable<TResult>>)
Projects each element of a sequence to an IEnumerable<T> and flattens the resulting sequences into one sequence.
SelectMany flattens queries that return lists of lists. For example
public class PhoneNumber{ public string Number { get; set; }}public class Person{ public IEnumerable<PhoneNumber> PhoneNumbers { get; set; }}IEnumerable<Person> people = new List<Person>();// Select gets a list of lists of phone numbersIEnumerable<IEnumerable<PhoneNumber>> phoneLists = people.Select(p => p.PhoneNumbers);// SelectMany flattens it to just a list of phone numbers.IEnumerable<PhoneNumber> phoneNumbers = people.SelectMany(p => p.PhoneNumbers);
http://msdn.microsoft.com/zh-cn/library/system.linq.enumerable(v=vs.100).aspx
http://stackoverflow.com/questions/958949/difference-between-select-and-selectmany
0 0
- Difference Between Select and SelectMany
- Difference between Select Unique and Select Distinct
- Difference between "select_catalog_role" and "select any dictionary"
- The difference between (()) and ().
- difference between "<" and "<<"
- Select & SelectMany
- Difference Between typedef and #define
- Difference between PCDATA and CDATA
- Difference between CComPtr and CComQIPtr
- Difference between RVCT and GCCE
- Difference between RVCT and GCCE
- difference between slist and list.
- difference between stack and heap
- Difference between replace and translate
- Difference between PrintWriter and PrintStream
- difference between Cookie and Session
- Difference Between Buffer and Cache
- Difference between Statement and preparedStatement
- 路由器&交换机
- ContentProvider与ContentResolver使用
- java.lang.IllegalStateException: getOutputStream() has already been called f
- C++ vector
- 修改tomcat服务器banner的方法
- Difference Between Select and SelectMany
- Android 应用程序之间数据共享—ContentProvider
- 抽象工厂模式
- ubuntu14.04下nvidia显卡安装和oracle11g
- 项目总结01-SQL-多行数据并成一行
- 第14条:留心资源管理类中的复制行为
- CentOS6.5上MTP读取Android手机
- NEERC 2014, Eastern subregional contest 题解
- 自定义Adapter实现多种Item视图的ListView