亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#基礎教程之IComparable用法,實現List<T>.sort()排序

2020-01-24 02:08:48
字體:
來源:轉載
供稿:網友

 List<T>.sort()可以實現對T的排序,比如List<int>.sort()執行后集合會按照int從小到大排序。如果T是一個自定義的Object,可是我們想按照自己的方式來排序,那該怎么辦呢,其實可以用過IComparable接口重寫CompareTo方法來實現。流程如下:

      一.第一步我們申明一個類Person但是要繼承IComparable接口:

復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestIComparable
{
    public class Person : IComparable<Person>
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public int CompareTo(Person obj)
        {
            int result;
            if (this.Name == obj.Name && this.Age == obj.Age)
            {
                result = 0;
            }
            else
            {
                if (this.Name.CompareTo(obj.Name) > 0)
                {
                    result = 1;
                }
                else if (this.Name == obj.Name && this.Age > obj.Age)
                {
                    result = 1;
                }
                else
                {
                    result = -1;
                }
            }
            return result;
        }
        public override string ToString()
        {
            return this.Name + "-" + this.Age;
        }
    }
}

  二.然后在主函數里面調用sort方法即可.類就會按照姓名從小到大,如果姓名相同則按照年齡從小到大排序了。

復制代碼 代碼如下:

public class Program
{
    public static void Main(string[] args)
    {
        List<Person> lstPerson = new List<Person>();
        lstPerson.Add(new Person(){ Name="Bob",Age=19});
        lstPerson.Add(new Person(){ Name="Mary",Age=18});
        lstPerson.Add(new Person() { Name = "Mary", Age = 17 });
        lstPerson.Add(new Person(){ Name="Lily",Age=20});
        lstPerson.Sort();
        Console.ReadKey();
    }
}

   三,如果不繼承IComparable接口,我們該如何實現排序呢??梢允褂肔inq來實現。其實效果是一樣的,只是如果類的集合要經常排序的話,建議使用繼承接口的方法,這樣可以簡化sort的代碼,而且更容易讓人看懂。

復制代碼 代碼如下:

public static void Main(string[] args)
        {
            List<Person> lstPerson = new List<Person>();
            lstPerson.Add(new Person(){ Name="Bob",Age=19});
            lstPerson.Add(new Person(){ Name="Mary",Age=18});
            lstPerson.Add(new Person() { Name = "Mary", Age = 17 });
            lstPerson.Add(new Person(){ Name="Lily",Age=20});
            lstPerson.Sort((x,y) =>
            {
                int result;
                if (x.Name == y.Name && x.Age == y.Age)
                {
                    result = 0;
                }
                else
                {
                    if (x.Name.CompareTo(y.Name) > 0)
                    {
                        result = 1;
                    }
                    else if (x.Name == y.Name && x.Age > y.Age)
                    {
                        result = 1;
                    }
                    else
                    {
                        result = -1;
                    }
                }
                return result;
            });
            Console.ReadKey();
        }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲奶大毛多的老太婆| 夜夜嗨av一区二区三区免费区| 亚洲高清久久久久久| 亚洲天堂免费观看| 色综合男人天堂| 中国人与牲禽动交精品| 成人亚洲综合色就1024| 国产欧美日韩丝袜精品一区| 精品少妇v888av| 亚洲人成电影在线播放| 一区二区三区回区在观看免费视频| 欧美日韩电影在线观看| 国产一区二区视频在线观看| 在线观看久久av| 国产精品入口免费视| 伊人久久久久久久久久久| 亚洲一区二区三区成人在线视频精品| 日韩人在线观看| 亚洲第一精品夜夜躁人人爽| 欧美日韩美女在线观看| 亚洲国产精品高清久久久| 国产精品偷伦一区二区| 亚洲色图在线观看| 在线丨暗呦小u女国产精品| 国产福利精品在线| 少妇av一区二区三区| 国产精品v日韩精品| 2019av中文字幕| 欧美成人免费全部观看天天性色| 久久久久久91| 国产精品成人va在线观看| 97在线精品国自产拍中文| 久久国产视频网站| 久久久久免费视频| 欧美在线观看网站| 亚洲美女精品久久| 国产精品夜间视频香蕉| 国产精品久久久久久久久| 欧美激情第一页xxx| 中文字幕欧美专区| 亚洲欧洲一区二区三区久久| 日韩av成人在线| 欧美性xxxxhd| 欧美日韩国产丝袜美女| 亚洲免费影视第一页| 久久久国产精品免费| 欧美日韩人人澡狠狠躁视频| 精品无人区乱码1区2区3区在线| 国产欧美精品一区二区三区-老狼| 久久精品99国产精品酒店日本| 日本亚洲精品在线观看| 992tv成人免费视频| www.久久撸.com| 亚洲综合社区网| 亚洲精品v欧美精品v日韩精品| 久久亚洲国产精品| 97免费视频在线播放| 色噜噜国产精品视频一区二区| 成人黄色av免费在线观看| 国产精品白丝av嫩草影院| 久久久久久久久久久网站| 久久久天堂国产精品女人| 欧美国产高跟鞋裸体秀xxxhd| 日韩午夜在线视频| 久久久成人精品视频| 亚洲视频精品在线| 久久男人av资源网站| 亚洲高清福利视频| 欧美亚洲成人xxx| 亚洲午夜小视频| 亚洲伊人第一页| 亚洲全黄一级网站| 欧美日韩另类视频| 中文精品99久久国产香蕉| 一本色道久久综合狠狠躁篇的优点| 日韩中文字幕免费看| 国内精品久久久久久| 国产成人久久久| 欧美在线观看www| 97超级碰在线看视频免费在线看| 日本一本a高清免费不卡| 日韩精品视频免费专区在线播放| 成人亚洲综合色就1024| 欧美激情xxxxx| 久久精品国产免费观看| 热99久久精品| 91深夜福利视频| 97超级碰碰人国产在线观看| 亚洲精品久久视频| 日韩黄色在线免费观看| 另类专区欧美制服同性| 日韩精品中文字幕视频在线| 91在线色戒在线| 在线视频一区二区| 在线成人一区二区| 大量国产精品视频| 亚洲成人激情图| 国产福利精品视频| 国产日韩精品入口| 欧美日韩国产一区二区| 91国产精品电影| 中文字幕欧美精品日韩中文字幕| 国产在线播放不卡| 欧美成人四级hd版| 日韩电影免费在线观看中文字幕| 亚洲性视频网站| 色哟哟入口国产精品| 欧美成人一区在线| 正在播放欧美视频| 日韩视频永久免费观看| 亚洲欧美日韩一区二区在线| 国产精品久久久久一区二区| 中文字幕亚洲欧美一区二区三区| 国产精品国产三级国产aⅴ浪潮| 国产不卡av在线免费观看| 国产精品白嫩美女在线观看| 亚洲人成网在线播放| 成人在线免费观看视视频| 亚洲aⅴ日韩av电影在线观看| 欧美日韩成人精品| 国外成人在线直播| 一本色道久久综合亚洲精品小说| 日韩精品极品在线观看播放免费视频| 国产精品久久99久久| 色yeye香蕉凹凸一区二区av| 精品亚洲男同gayvideo网站| 6080yy精品一区二区三区| 一区二区三欧美| 国产精品精品久久久久久| 91九色视频在线| 91av免费观看91av精品在线| 久久综合国产精品台湾中文娱乐网| 欧美精品久久久久久久久久| 亚洲欧美一区二区精品久久久| 日韩精品视频在线观看免费| 色综合久久88| 中文字幕欧美专区| 欧美在线日韩在线| 日韩成人在线视频观看| 国产精品久久久久久影视| 国产精品99免视看9| 亚洲午夜精品久久久久久久久久久久| 精品亚洲国产成av人片传媒| 国产精品吹潮在线观看| 亚洲偷熟乱区亚洲香蕉av| 久久精品91久久香蕉加勒比| 亚洲午夜未满十八勿入免费观看全集| 久久手机免费视频| 在线观看国产精品淫| 欧美成人免费一级人片100| 91亚洲精华国产精华| 欧美一级大片视频| 欧美黄色片在线观看| 91精品国产91久久久久| 日韩av片电影专区| 九九热这里只有精品6| 欧美性理论片在线观看片免费| 性夜试看影院91社区| 亚洲精品中文字幕女同| 成人久久一区二区| 亚洲国产精品资源| 亚洲人永久免费| 国产视频一区在线| 全色精品综合影院|