Bläddra i källkod

C#中Linq

master
QYYEE 5 år sedan
förälder
incheckning
dd95c3cd06
2 ändrade filer med 62 tillägg och 0 borttagningar
  1. 55
    0
      后端/C#基础/C#中的Linq.md
  2. 7
    0
      后端/C#基础/lamda表达式.md

+ 55
- 0
后端/C#基础/C#中的Linq.md Visa fil

@@ -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
+这个方法用来判断在一个序列(集合)中是否存在一个特殊的元素.这个方法有两种重载方式,第一种是通过默认的比较器来判断序列(集合)中是否有特殊的元素,另外一种是通过自定义

+ 7
- 0
后端/C#基础/lamda表达式.md Visa fil

@@ -81,4 +81,11 @@ OrderBy是从小到大排序,需要从大到小排列则用OrderByDescending
81 81
 ```
82 82
 
83 83
 
84
+>Lambda表达式规则有三个
85
+
86
+- Lambda包含的参数数量必须与委托类型包含的参数数量相同。
87
+- 每个输入参数必须都能够隐式转换为其对应的委托参数。(逆变)
88
+- 返回值(如果有)必须能够够转换为委托的返回类型。(协变)
89
+
90
+
84 91
 

Laddar…
Avbryt
Spara