直接上代码,内容很浅显易懂,在这里就不做更多的解释,解释见代码注释。
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