|
@@ -0,0 +1,55 @@
|
|
1
|
+> Linq语句
|
|
2
|
+
|
|
3
|
+其实Linq语句本质上是对实现了IEnumerable的接口的对象进行操作,而所有的数组和集合都实现了这个接口。
|
|
4
|
+
|
|
5
|
+> Linq常用的方法。
|
|
6
|
+- where
|
|
7
|
+ - where用于筛选数据源中的元素,只要给他指定数据源中的子元素的任意布尔值类型的表达式就可以了。
|
|
8
|
+ - where不是必须Linq使用里面必须指定的选项,但一般都要用到。
|
|
9
|
+- orderby
|
|
10
|
+ - 类似于SQL,在对数据进行筛选之后,我们还可以进一步地对数据进行排序。
|
|
11
|
+ - 如果是倒叙排列,则需要在后面加descending。
|
|
12
|
+- 聚合函数
|
|
13
|
+ - 和SQL一样,Linq也有Max(),Min(),Count(),Sum(),Average()这些聚合函数,继续沿用上面的学生对象例子,聚合函数需要在Linq表达式之后输出使用。
|
|
14
|
+- select
|
|
15
|
+ - select可以用以指定查询的具体字段
|
|
16
|
+- Take和Skip
|
|
17
|
+ - Take和Skip可以用以进行前几个数据的筛选
|
|
18
|
+ - Take用来表明获取几个的数据,Skip用来省略前几项的数据,指偏移量
|
|
19
|
+```
|
|
20
|
+//取出成绩最高的三位学生
|
|
21
|
+var result = (from s in students
|
|
22
|
+ orderby s.source descending
|
|
23
|
+ select s.source).Take(3);
|
|
24
|
+//根据id查出学生信息,每页显示5个,当前是第2页
|
|
25
|
+var result = (from s in students
|
|
26
|
+ orderby s.id
|
|
27
|
+ select s.source).Skip(1*5).Take(5);
|
|
28
|
+```
|
|
29
|
+
|
|
30
|
+- Distinct
|
|
31
|
+
|
|
32
|
+ 这个方法将从序列(集合)中返回去重复(Distinct)元素
|
|
33
|
+
|
|
34
|
+- First
|
|
35
|
+
|
|
36
|
+ 这个方法会返回序列中的第一个元素
|
|
37
|
+
|
|
38
|
+- All
|
|
39
|
+
|
|
40
|
+这个方法确定是否所有元素序列都满足某种条件
|
|
41
|
+- Any
|
|
42
|
+
|
|
43
|
+这个方法确定序列中的元素是否存在或者满足某种特定的条件
|
|
44
|
+
|
|
45
|
+- Average
|
|
46
|
+
|
|
47
|
+Average方法会计算在序列中的数字的平均值
|
|
48
|
+
|
|
49
|
+- Concat
|
|
50
|
+
|
|
51
|
+这个方法的作用是连接(拼接)两个序列.这个方法通过"延迟执行"(deferred execution)来执行.它的返回值是包含需要执行特定操作所有信息的迭代器类型的一种实例
|
|
52
|
+
|
|
53
|
+- Contains
|
|
54
|
+
|
|
55
|
+这个方法用来判断在一个序列(集合)中是否存在一个特殊的元素.这个方法有两种重载方式,第一种是通过默认的比较器来判断序列(集合)中是否有特殊的元素,另外一种是通过自定义
|