学习 杨中科老师的视频 笔记
.NET 5教程,.Net Core 2021视频教程,杨中科主讲_哔哩哔哩_bilibili
一、为什么要学习Linq
让数据处理变得简单;
复习委托,Action,Func
二、复习匿名方法
用lambda表达式写法改写匿名方法
方法体只有一行代码省略写法, 会反推,正推
三、where方法的原理,自己造一个where方法,理解原理
yield 语法;
var 讲解; 查一下 var+匿名类型
四、IEnumerable<T>
扩展方法
1、Where()
Count()
Any() :是否有一条数据满足条件,效率可能回避count高一点
2、Single() SingleOrDefault() 返回一条
First() FirstOrDefault() 返回第一条
防御性编程
排序
Order() OrderByDescending() 第一排序字段
ThenBy() ThenByDescending() 第二排序字段
小知识点: Random 类 随机数,rand.Next();
Guid 类,也可以随机,Guid.NewGuid();
限制结果集获取部分数据,用于分页
Skip() 跳过,Take() 取
3、聚合函数
Max() Min() Average() Sum() Count()
分组
GroupBy() IGrouping 类型,KEY
4、投影
Select
匿名类型,编译器会自动生成类,Var
五、集合转换
ToList() ToArray()
综合例子,链式调用
六、查询语法
form e in list where e.age>30 select new {}
匿名类型语法细节,下面写法相同
r4.Select(s => new { name = s.name });
r4.Select(s => new { s.name });
七、面试
例子
知识点:1、字符串 大小写转换,ToUpper(转大写),ToLower(转小写)
2、字符串是字符的集合,IEnumerable<char>
3、判断字符是否是字母,Isletter();