雷火电竞-中国电竞赛事及体育赛事平台

歡迎來(lái)到入門(mén)教程網(wǎng)!

C#教程

當(dāng)前位置:主頁(yè) > 軟件編程 > C#教程 >

C# List 排序各種用法與比較

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C#教程|點(diǎn)擊:

下面介紹各種List的sort的用法與比較

首先,我們建一個(gè)People的實(shí)體,有name、age、sex的屬性,我們要排序的字段是年齡age

新建一個(gè)實(shí)體類(lèi)

 public class People
  {
    public string name { get; set; }
    public int age { get; set; }
    public string sex { get; set; }
  }

新建list的數(shù)據(jù)    

  List<People> peoples = new List<People>()
      {
        new People() {age = 11, name="alun", sex = "男"},
        new People() {age=25, name = "陳敬桃", sex = "男"},
        new People() {age=9, name = "惠安", sex = "男"},
        new People() {age = 45, name = "小票", sex = "女"},
        new People() {age=3, name = "曉鷗", sex = "女"},
        new People() {age=70, name = "望謨", sex = "男"}
      };

1. 第1種排序方法,使用 IComparer

 public class PeopleAgeComparer : IComparer<People>
  {
    public int Compare(People p1, People p2)
    {
      return p1.age.CompareTo(p2.age);
    }
  }

peoples.Sort(new PeopleAgeComparer());

可以看到第一種方法比價(jià)麻煩,要新建一個(gè)新的類(lèi)來(lái)做

2. 第2種排序方法,使用委托來(lái)排序

peoples.Sort(delegate (People p1, People p2) { return p1.age.CompareTo(p2.age); });

看委托的方式很方便,不用新建類(lèi)這么麻煩。

3. 第2種排序方法,使用Lambda表達(dá)式來(lái)排序

peoples.Sort( (a, b) => a.age.CompareTo(b.age) );

目測(cè)排序有這3種方法,個(gè)人覺(jué)得還是Lambda表達(dá)式使用得方便。

通過(guò)此文希望能幫助大家,謝謝大家對(duì)本站的支持!

上一篇:winform分頁(yè)控件 附源碼下載

欄    目:C#教程

下一篇:WPF 自定義雷達(dá)圖開(kāi)發(fā)實(shí)例教程

本文標(biāo)題:C# List 排序各種用法與比較

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/6254.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有