List<T>泛型集合:
using System.Collections.Generic
T(包括类、接口、方法、委托等)看做模板,List看做容器。也可以理解成(包括类、接口、方法、委托等)集合的集合.
msdn上属性方法的介绍http://msdn.microsoft.com/zh-cn/library/6sh2ey19(v=vs.110).aspx
用List<T>配合delegate完成排序(Sort),查找(Find/Exist)--摘抄自网络http://www.cnblogs.com/azure/archive/2009/08/01/ASP_NET_LIST_SORT_FIND_DELEGATE.html
List<ListItem> Ldt = new List<ListItem>(); Ldt.Add(new ListItem("a","a1")); Ldt.Add(new ListItem("c", "c1")); Ldt.Add(new ListItem("b", "b1")); Ldt.Sort(delegate(ListItem item1, ListItem item2) { return Comparer<string>.Default.Compare(item1.Text, item2.Text); }); foreach (ListItem dt in Ldt) { Response.Write("<script>alert('" + dt.Value.ToString() + "');</script>"); }
List<ListItem> Ldt = new List<ListItem>(); Ldt.Add(new ListItem("a","a1")); Ldt.Add(new ListItem("c", "c1")); Ldt.Add(new ListItem("b", "b1")); ListItem dt = Ldt.Find(delegate(ListItem v) { return v.Text == "c"; }); Response.Write("<script>alert('" + dt.Value.ToString() + "');</script>");
List<ListItem> Ldt = new List<ListItem>(); Ldt.Add(new ListItem("a","a1")); Ldt.Add(new ListItem("c", "c1")); Ldt.Add(new ListItem("b", "b1")); bool flag = Ldt.Exists(delegate(ListItem dt) { return dt.Text == "c"; }); Response.Write("<script>alert('" + flag.ToString() + "');</script>");
ForEach
List<ListItem> Ldt = new List<ListItem>(); Ldt.Add(new ListItem("a","a1")); Ldt.Add(new ListItem("c", "c1")); Ldt.Add(new ListItem("b", "b1")); Ldt.ForEach(delegate(ListItem dt) { Response.Write("<script>alert('" + dt.Value.ToString() + "');</script>"); });