知识学堂 > 课程 > List集合显示最大和排序

List集合显示最大和排序

发布日期:2019/7/18 来源:聚恒【返回】

List集合显示最大和排序
 public List<TestModel> tm = new List<TestModel>();
    protected void Page_Load(object sender, EventArgs e)
    {
        string[] shuzu = new string[] {"2","4","3","7","6"};
        for (int i = 0; i < 5; i++)
        {
             TestModel t = new TestModel();
                t.Index = i;
                t.indexItem = Convert.ToInt32(shuzu[i]);
                tm.Add(t);
        }
    }
    public class TestModel
    {
        public int Index { set; get; }
        public int indexItem { set; get; }

    }



页面:

显示最大 var max = tm.Max(t => t.indexItem);

tm.Sort(); // 升序排序 result: 2 3 4 6 7 

tm.Reverse(); //反转 result:6 7 3 4 2 

tm.Sort((x, y) => x.CompareTo(y)); //升序 

tm.Sort((x, y) => -x.CompareTo(y)); //降序序


 //List<T>.Find()
        //找出Name='puma'的Person
        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 p2) { return Comparer<string>.Default.Compare(p2.Name, p1.Name); });
        foreach (Person p in lstPerson)
        {
            Response.Write(p.ToString() + "<br/>");
        }