C# LINQ

Posted springbrotherhpu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# LINQ相关的知识,希望对你有一定的参考价值。

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
技术图片

?

以上是关于C# LINQ的主要内容,如果未能解决你的问题,请参考以下文章

C#中的LINQ

C#中的LINQ

C#图解教程 第十九章 LINQ

一个简单的EF Linq MVC Web应用程序

.NET知识梳理——7.Linq

.NET知识梳理——7.Linq