5.1 LINQ(Language Integrated Query)语言集成查询是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以操作内存数据的方式,查询数据库。
5.2 源起: .net的设计者在类库中定义了一系列的扩展方法,来方便用户操作集合对象,这些扩展方法构成了LINQ的查询操作符
5.3 使用: 这一系列的扩展方法,比如:Where,Max,Select,Sum,Any,Average,All,Concat等(MSDN)
<1>过滤 :Where、OfType
①List<int> arr = new List<int>() { 1, 2, 3, 4, 5, 6, 7 };
var result = arr.Where(a => { return a > 3; });(符合条件:4,5,6,7)
说明:找到集合中满足指定条件的元素
②List<int> arr = new List<int>() { 1, 2, 3, 4, 5, 6, 7 }
arr.OfType<int>();(1, 2, 3, 4, 5, 6, 7都是int类型)
说明:根据指定类型,筛选集合中的元素
<2>投影 :Select、SelectMany(https://blog.csdn.net/SimulationPD/article/details/83416869)
public static IEnumerable<TResult> SelectMany<TSource, TResult>
(this IEnumerable<TSource> source,Func<TSource, IEnumerable<TResult>> selector)
public static IEnumerable<TResult> SelectMany<TSource, TCollection, TResult>
(this IEnumerable<TSource> source,
Func<TSource, IEnumerable<TCollection>> collectionSelector,
Func<TSource, TCollection, TResult> resultSelector)