C# LINQ (2)

2021-02-02 03:13

阅读:569

Limiting Data —- Take() and Skip()

前面讲了 筛选排序,现在讲 选取
皇帝选妃,层层选拔,最后留几个,让他过目,他选一个或者几个作为妃子,大概是这么个意思
Take(X) 是选取X个  Skip(Y) 是跳过前Y个
技术图片


Select 选取子集

前面说的Where OrderBy 结果都是和原类型一样,弱水三千取一瓢,而 Select是取水里的 泡泡啊,小鱼啊,沙子啊,之类的,语法和前面说的一样
技术图片
不是说有1000个人,我从里面挑10个,而是1000个人,我把所有人的衣服,或者帽子,或者鞋子,都收集在一起,组成一个新的集合,这在某些情况下是非常有用的。

当然我们也可以让选择的结果是个User class 集合,不仅仅只是名字,注意下面怎么写的
技术图片

简而言之,Select可以让你取一些源数据的属性组成新的集合,使用场景还是很广的


GroupBy

分类,分类后有个Key属性,是刚开始分类时候的依据,也是分类后的类标识
技术图片

这个Key我们可以自定义,就是在 Lambda 表达式那儿改,比如按照名字的前两个字母的不同来分类 users.GroupBy(user => user.Name.Substring(0, 2))
技术图片

或者按照某个method的结果 来定义
技术图片  技术图片

或者”打出一套组合拳” — 组合Key
技术图片

?


评论


亲,登录后才可以留言!