您的位置:首页 > 编程语言 > C#

C#范型List的一些方法的使用

2010-12-08 10:34 513 查看
下面介绍一下List<T>一些方法的用法

List<T>.Sort()→排序T

List<T>.Find()→找出一个T

List<T>.FindAll()→找出多个T

List<T>.Exist()→判断T是否存在

代码如下:

GenericList.aspx

<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="GenericList.aspx.cs"Inherits="GenericList"%>
02
03
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
04
05
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
06
<
head
runat
=
"server"
>
07
<
title
>GenericList</
title
>
08
</
head
>
09
<
body
>
10
<
form
id
=
"form1"
runat
=
"server"
>
11
<
div
>
12
原始資料:
13
<
asp:GridView
ID
=
"GridView1"
runat
=
"server"
>
14
</
asp:GridView
>
15
</
div
>
16
</
form
>
17
</
body
>
18
</
html
>
GenericList.aspx.cs

using

System;
002
using

System.Collections.Generic;
003
using

System.Web;
004
using

System.Web.UI;
005
using

System.Web.UI.WebControls;
006
007
public
partial
class

GenericList:System.Web.UI.Page
008
{
009
010
protected
void

Page_Load(
object
sender,EventArgse)
011
{

012
List<Person>lstPerson=
new

List<Person>();
013
lstPerson.Add(
new
Person(1,
"puma"
,10));
014
lstPerson.Add(
new
Person(2,
"F6Team"
,20));
015
lstPerson.Add(
new
Person(3,
"ASP.NET"
,30));
016
lstPerson.Add(
new
Person(4,
"Dotblogs"
,40));
017
018
//原始資料顯示在GridView上
019
this
.GridView1.DataSource=lstPerson;
020
this
.GridView1.DataBind();
021
022
023
024
//List<T>.Find()
025
//找出Name='puma'的Person
026
Response.Write(
"找出Name='puma'的Person→"
);
027
Response.Write(lstPerson.Find(
delegate
(Personp){
return

p.Name==
"puma"
;}).ToString()+
"<p>"
);
028
029
030
031
//List<T>.FindAll()
032
//找出Age>10的數目
033
Response.Write(
"找出Age>10的數目→"
);
034
Response.Write(lstPerson.FindAll(
delegate
(Personp){
return

p.Age>10;}).Count.ToString()+
"<p>"
);
035
036
037
038
//List<T>.Exists()
039
//檢查Name='F6'是否存在
040
Response.Write(
"檢查Name='F6'是否存在→"
);
041
Response.Write(lstPerson.Exists(
delegate
(Personp){
return

p.Name==
"F6"
;}).ToString()+
"<p>"
);
042
043
044
045
//List<T>.Sort()
046
//依Name升冪排序
047
Response.Write(
"<p>依Name升冪排序↑<br/>"
);
048
lstPerson.Sort(
delegate
(Personp1,Personp2){
return

Comparer<
string
>.Default.Compare(p1.Name,p2.Name);});
049
foreach
(Personp
in
lstPerson)
050
{
051
Response.Write(p.ToString()+
"<br/>"
);
052
}
056
//List<T>.Sort()
057
//依Name降冪排序
058
Response.Write(
"<p>依Name降冪排序↓<br/>"
);
059
lstPerson.Sort(
delegate
(Personp1,Personp2){
return

Comparer<
string
>.Default.Compare(p2.Name,p1.Name);});
060
foreach
(Personp
in
lstPerson)
061
{
062
Response.Write(p.ToString()+
"<br/>"
);
063
}
064
}

065
}
066
067
public
class
Person
068
{
069
private
int

_ID;
070
private
string

_Name;
071
private
int

_Age;
072
073
public
Person(
int

ID,
string

Name,
int
Age)
074
{

075
_ID=ID;
076
_Name=Name;
077
_Age=Age;
078
}

079
080
public
int

ID
081
{

082
set
{_ID=value;}
083
get
{
return
_ID;}
084
}

085
086
public
string

Name
087
{

088
set
{_Name=value;}
089
get
{
return
_Name;}
090
}

091
092
public
int

Age
093
{

094
set
{_Age=value;}
095
get
{
return
_Age;}
096
}

097
098
public
override

string
ToString()

099
{

100
return
string
.Format(
"ID:{0},Name:{1},Age:{2}"
,
_ID,_Name,_Age);
101
}

102
}
结果如下

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: