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