C# List

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>"); });


看原文评论有人说用LINQ To Object 或者lambda表达式可以实现(有待研究)

你可能感兴趣的:(泛型,C#)