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

首頁 > 學院 > 開發設計 > 正文

C# 實現List實例中實例元素的排序

2019-11-11 05:15:11
字體:
來源:轉載
供稿:網友

C# 實現List實例中實例元素的排序

實現List實例中元素的排序除了有一下兩種較好的實現途徑:

使需要排序的類實現IComparable<T>接口;創建需要排序的類的一個實現ICompare<T>接口的新類,將新類的實例傳入到List.Sort(newOject)方法中。

代碼示例:

實現IComparable接口方式using System;using System.Collections.Generic;namespace 鴨子{ internal class PRogram { private static void Main() { var ducks = new List<Duck>() { new Duck(){Kind = KindOfDuck.Musovy,Size = 17}, new Duck(){Kind = KindOfDuck.Musovy,Size = 18}, new Duck(){Kind = KindOfDuck.Decoy,Size = 14}, new Duck(){Kind = KindOfDuck.Musovy,Size = 11}, new Duck(){Kind = KindOfDuck.Mallard,Size = 14}, new Duck(){Kind = KindOfDuck.Decoy,Size = 13}, }; ducks.Sort();//鴨子排序 foreach (var duck in ducks) { Console.WriteLine(duck.Kind + " " + duck.Size); } Console.ReadKey(); } } internal class Duck : IComparable<Duck>//鴨子類實現IComparable<T>接口,實現排序功能 { public int Size; public KindOfDuck Kind; public int CompareTo(Duck other) { if (this.Size > other.Size) { return 1; } if (this.Size < other.Size) { return -1; } return 0; } } internal enum KindOfDuck { Mallard, Musovy, Decoy, }}實現ICompare接口方式using System;using System.Collections.Generic;namespace 鴨子1{ internal class Program { private static void Main() { var ducks = new List<Duck>() { new Duck(){Kind = KindOfDuck.Musovy,Size = 17}, new Duck(){Kind = KindOfDuck.Musovy,Size = 18}, new Duck(){Kind = KindOfDuck.Decoy,Size = 14}, new Duck(){Kind = KindOfDuck.Musovy,Size = 11}, new Duck(){Kind = KindOfDuck.Mallard,Size = 14}, new Duck(){Kind = KindOfDuck.Decoy,Size = 13}, }; //var compare=new DuckCompare(){SortBy = SortCriteria.SizeThenKind};//先大小后種類排序 var compare = new DuckCompare() { SortBy = SortCriteria.KindThenSize };//先種類后大小排序 ducks.Sort(compare);//鴨子排序 foreach (var duck in ducks) { Console.WriteLine(duck.Kind + " " + duck.Size); } Console.ReadKey(); } } internal class Duck { public int Size; public KindOfDuck Kind; } internal enum KindOfDuck { Mallard, Musovy, Decoy, } internal enum SortCriteria { SizeThenKind, KindThenSize, } internal class DuckCompare : IComparer<Duck>//新的鴨子類實現ICompare<T>接口,實現排序功能 { public SortCriteria SortBy=SortCriteria.SizeThenKind; public int Compare(Duck x, Duck y) { if (SortBy==SortCriteria.SizeThenKind) { if (x.Size>y.Size) { return 1; } if (x.Size<y.Size) { return -1; } if (x.Kind>y.Kind) { return 1; } if (x.Kind<y.Kind) { return -1; } return 0; } if (x.Kind > y.Kind) { return 1; } if (x.Kind < y.Kind) { return -1; } if (x.Size > y.Size) { return 1; } if (x.Size < y.Size) { return -1; } return 0; } }}

兩種方式對比

IComparable<T>接口方式屬于內嵌方式,要提前設計好,使用起來簡單一點,靈活性就差了一點;ICompare<T>接口方式剛好相反,需要根據排序創建新的類,但是更加靈活,不用改變現有的沒有排序功能的類,而且能實現復雜排序。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人午夜免费视在线看片| 亚洲第一色在线| 国产精品va在线| 国产精品久久久久久久久久久不卡| 久久久最新网址| 久久久久国色av免费观看性色| 日韩色av导航| 日韩视频免费观看| 欧美中文字幕第一页| 91精品91久久久久久| 2019中文字幕在线| 国模私拍视频一区| 欧洲成人午夜免费大片| 91久久精品日日躁夜夜躁国产| 日本欧美在线视频| 久久久女人电视剧免费播放下载| 日韩精品视频观看| 成人精品视频99在线观看免费| 国产精品久久久久久久久久久久久| 欧美亚洲一区在线| 欧美福利在线观看| 国产成人涩涩涩视频在线观看| 日本精品在线视频| 久久91精品国产91久久跳| 亚洲欧美制服另类日韩| 精品亚洲一区二区三区| 中文字幕亚洲情99在线| 日韩在线视频网站| 欧美日韩福利电影| 国内精品美女av在线播放| 激情成人中文字幕| 久久夜色精品国产欧美乱| 亚洲成人精品在线| 国模gogo一区二区大胆私拍| 在线播放国产一区二区三区| 97久久精品人人澡人人爽缅北| 日本一区二三区好的精华液| 精品国产一区二区三区四区在线观看| 欧美成人一区在线| 韩剧1988免费观看全集| 国产精品精品久久久| 91国内精品久久| 亚洲黄色av女优在线观看| 亚洲日本aⅴ片在线观看香蕉| 九九热精品视频在线播放| 国产亚洲成精品久久| 日韩欧中文字幕| 欧美特级www| 欧美亚洲在线播放| 亚洲欧美制服丝袜| 国产日韩在线播放| 亚洲乱码国产乱码精品精天堂| 91tv亚洲精品香蕉国产一区7ujn| 国产成人自拍视频在线观看| 日韩一二三在线视频播| 欧美激情一区二区三区高清视频| 日韩欧美一区二区三区久久| 在线国产精品视频| 欧美色道久久88综合亚洲精品| 中文字幕亚洲精品| yw.139尤物在线精品视频| 91性高湖久久久久久久久_久久99| 成人福利视频在线观看| 77777亚洲午夜久久多人| 久久久久久午夜| 亚洲美女av黄| 久久久99免费视频| 欧美性猛交xxxx免费看久久久| 18性欧美xxxⅹ性满足| 亚洲白拍色综合图区| 国产精品日韩电影| 亚洲九九九在线观看| 国产精品99久久久久久久久久久久| 亚洲精品乱码久久久久久金桔影视| 国产精品午夜视频| 国产精品免费久久久| 久久久久成人精品| 国产一区二区三区丝袜| 亚洲一区二区三区在线免费观看| 欧美夜福利tv在线| www.日韩免费| 不卡av电影在线观看| 欧美丝袜美女中出在线| 久久久精品免费| 亚洲欧美日韩网| 国产日韩精品视频| 萌白酱国产一区二区| 黑人巨大精品欧美一区二区三区| 91亚洲国产成人久久精品网站| 日韩成人在线视频| 亚洲精品久久久久国产| 亚洲九九九在线观看| 久久久999精品视频| 久久久中精品2020中文| 人九九综合九九宗合| 亚洲欧美日韩综合| 在线观看视频亚洲| 91精品久久久久久综合乱菊| 清纯唯美亚洲激情| 欧美日韩高清区| 国产精品嫩草影院一区二区| 亚洲欧美日韩国产成人| 国产精品高潮呻吟久久av野狼| 992tv成人免费视频| 亚洲高清色综合| 国产精品草莓在线免费观看| 欧美精品久久久久久久久| 最近2019好看的中文字幕免费| 亚洲iv一区二区三区| 欧美日韩精品在线观看| 日韩精品在线观看一区| 亚洲欧美另类国产| 精品久久久久久中文字幕一区奶水| 欧美噜噜久久久xxx| 精品久久久久久亚洲精品| 欧美精品日韩三级| 亚洲成人久久久久| 欧美成人全部免费| 欧美国产日韩一区二区在线观看| 青青草原一区二区| 最近2019中文免费高清视频观看www99| 韩国福利视频一区| 国产精品视频xxxx| 91色在线观看| 欧美日韩xxx| 日韩麻豆第一页| 亚洲无亚洲人成网站77777| 欧美性黄网官网| 久久久精品国产网站| 久久五月天综合| 国产97在线|亚洲| 日韩欧美aaa| 亚洲欧美福利视频| 色综合91久久精品中文字幕| 亚洲人成电影在线| 欧美精品videossex性护士| 国产精品福利久久久| 91精品国产色综合久久不卡98口| 韩国精品美女www爽爽爽视频| 日韩人体视频一二区| 日韩欧美国产成人| 亚洲情综合五月天| 国产精品一区久久久| 爽爽爽爽爽爽爽成人免费观看| 91av在线精品| 国产69久久精品成人| 国产97色在线| 亚洲综合色激情五月| 久久久久99精品久久久久| 日韩欧美成人免费视频| 亚洲美女av在线播放| 美女扒开尿口让男人操亚洲视频网站| 欧美极品少妇xxxxⅹ裸体艺术| 精品国产一区二区三区久久狼黑人| 亚洲伊人久久综合| 自拍视频国产精品| 亚洲另类图片色| 欧美日韩国产在线| 成人a在线视频| 日韩久久免费电影| 日韩欧美在线第一页| 亚洲国产另类 国产精品国产免费| 亚洲欧美国产日韩中文字幕| 亚洲淫片在线视频|