September 2010
S M T W T F S
« Jul    
 1234
567891011
12131415161718
19202122232425
2627282930  

Categories

Sunday, 18th of April 2010 at 02:51:01 PM

List Sort()、Find()、FindAll()、Exist() in c#

How to write delegate for sort, find, findall and exist.

Response.Write("找出Name='puma'的Person→ ");
Response.Write(lstPerson.Find(delegate(Person p) { return p.Name == "puma"; }).ToString() + "<p>");

//List<T>.FindAll()
//找出Age>10的數目
Response.Write("找出Age>10的數目→ ");
Response.Write(lstPerson.FindAll(delegate(Person p) { return p.Age > 10; }).Count.ToString() + "<p>");

//List<T>.Exists()
//檢查Name='F6'是否存在
Response.Write("檢查Name='F6'是否存在→ ");
Response.Write(lstPerson.Exists(delegate(Person p) { return p.Name == "F6"; }).ToString() + "<p>");

//List<T>.Sort()
//依Name升冪排序
Response.Write("<p>依Name升冪排序↑<br/>");
lstPerson.Sort(delegate(Person p1, Person p2) { return Comparer<string>.Default.Compare(p1.Name, p2.Name); });
foreach (Person p in lstPerson)
{
Response.Write(p.ToString() + "<br/>");
}

//List<T>.Sort()
//依Name降冪排序
Response.Write("<p>依Name降冪排序↓<br/>");
lstPerson.Sort(delegate(Person p1, Person [...]