直接上代码,内容很浅显易懂,在这里就不做更多的解释,解释见代码注释。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 |
using
System;using
System.Collections.Generic;using
System.Linq;using
System.Web;using
System.Web.UI;using
System.Web.UI.WebControls;using
System.Threading.Tasks;public
partial
class
test : System.Web.UI.Page{ protected
void
Page_Load(object
sender, EventArgs e) { string[] names = { "Wang", "Biao", "WangBiao", "Kingtiger"
}; var
q1 = names.Where(a => a.StartsWith("W"));//直接查询 var
q2 = from
a in
names where
a.StartsWith("W") select
a;//linq查询 var
q3 = from
a in
names where
a.StartsWith("W") orderby
a descending select
a;//linq查询,包括排序,倒序要加上descending var
q4 = names.OrderBy(a => a).Where(a=>a.StartsWith("W"));//直接排序 var
q5 = names.OrderByDescending(a => a).Where(a=>a.StartsWith("W"));//直接倒序排序 var
q6 = from
a in
names select
new { HI = a + ",您好!" };//查询后重构输出 var
q7 = names.Select(a => new
{ HI = a + ",您好!"
});//直接查询构造输出 List<Person> persons = new
List<Person>(); persons.Add(new
Person() { ID="0001",Name="Kingtiger"
}); persons.Add(new
Person() { ID = "0002", Name = "Wang"
}); persons.Add(new
Person() { ID = "0001", Name = "Biao"
}); persons.Add(new
Person() { ID = "0004", Name = "WangBiao"
}); var
q8 = from
p in
persons orderby
p.ID, p.Name select
p;//多级排序,先排序ID,然后再排序Name var
q9 = persons.OrderBy(a => a.ID).ThenBy(a => a.Name).Select(a => a);//直接两个排序 var
qt = from
p in
persons where
p.Name.Contains("W") || p.Name.Contains("Biao") select
p;//第一次查询进行过滤 var
q10 = from
p in
qt orderby
p.Name descending select
p.Name;//对一次查询结果进行第二次处理 var
q11 = from
p in
persons group
p by
p.ID into
cg select
new
{ GroupID = cg.Key, GroupCount= cg.Count() };//分组查询,将结果提取出来 List<Order> orders = new
List<Order>(); orders.Add(new
Order() { UserID="0002",OrderID="001", OrderName="苹果"
}); orders.Add(new
Order() { UserID = "0002", OrderID = "003", OrderName = "香蕉"
}); orders.Add(new
Order() { UserID = "0004", OrderID = "002", OrderName = "荔枝"
}); var
q12 = from
p in
persons join
o in
orders on
p.ID equals
o.UserID select
new { PName = p.Name, POrderName = o.OrderName }; foreach
(var
p in
q12) { Response.Write(p+"<br/>"); } }}public
class
Person{ public
string
ID { set; get; } public
string
Name { set; get; }}public
class
Order{ public
string
OrderID { set; get; } public
string
OrderName { set; get; } public
string
UserID { set; get; }} |
原文:http://www.cnblogs.com/kinger906/p/3528127.html