C# LINQ (2)

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

posted on 2019-09-22 22:43  chungehpu  阅读(202)  评论(0编辑  收藏  举报

导航