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

下面介绍一下List<T>一些方法的用法

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

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

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

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

 

代码如下:

GenericList.aspx

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GenericList.aspx.cs" Inherits="GenericList" %>

02   
03 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
04   
05 <htmlxmlns="http://www.w3.org/1999/xhtml">
06 <headrunat="server">
07     <title>GenericList</title>
08 </head>
09 <body>
10     <formid="form1"runat="server">
11     <div>
12         原始資料:
13         <asp:GridViewID="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     protectedvoid Page_Load(objectsender, EventArgs e)
011     {
012         List<Person> lstPerson =new List<Person>();
013         lstPerson.Add(newPerson(1, "puma", 10));
014         lstPerson.Add(newPerson(2, "F6 Team", 20));
015         lstPerson.Add(newPerson(3, "ASP.NET", 30));
016         lstPerson.Add(newPerson(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(Person p) {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(Person p) {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(Person p) {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(Person p1, Person p2) {return Comparer<string>.Default.Compare(p1.Name, p2.Name); });
049         foreach(Person p inlstPerson)
050         {
051             Response.Write(p.ToString() +"<br/>");
052         }
056         //List<T>.Sort()
057         //依Name降冪排序
058         Response.Write("<p>依Name降冪排序↓<br/>");
059         lstPerson.Sort(delegate(Person p1, Person p2) {return Comparer<string>.Default.Compare(p2.Name, p1.Name); });
060         foreach(Person p inlstPerson)
061         {
062             Response.Write(p.ToString() +"<br/>");
063         }
064     }
065 }
066   
067 public class Person
068 {
069     privateint _ID;
070     privatestring _Name;
071     privateint _Age;
072   
073     publicPerson(int ID, string Name, int Age)
074     {
075         _ID = ID;
076         _Name = Name;
077         _Age = Age;
078     }
079   
080     publicint ID
081     {
082         set{ _ID = value; }
083         get{ return _ID; }
084     }
085   
086     publicstring Name
087     {
088         set{ _Name = value; }
089         get{ return _Name; }
090     }
091   
092     publicint Age
093     {
094         set{ _Age = value; }
095         get{ return _Age; }
096     }
097   
098     publicoverride stringToString()
099     {
100         returnstring.Format("ID:{0},Name:{1},Age:{2}", _ID, _Name, _Age);
101     }
102 }
结果如下

C#范型List的一些方法的使用_第1张图片

你可能感兴趣的:(server,XHTML,list,C#,Class,asp.net)