日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.Net 中接口应用的知识点(排序)

發布時間:2023/12/10 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .Net 中接口应用的知识点(排序) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接口
接口可以看作是多態的一種。它打破了里氏替換原則。即不是共同的生物,比如動物(狗)和人(老師),這兩個類
卻都有吃這種方法。但是繼承里不能把老師和狗歸為一個類。所以這時用接口來解決這種問題。
語法

interface IStand {void Eat(); }

注意:
1,命名I開頭,默認省略修飾符,abstract,override
2,接口可以被實現多個,打破了單根性
3,接口不是類,卻類似父類的存在
4,接口還可以作為參數
與多態的同:
1,強制性
2,提取多個子類的共同方法,作為多態的優化。

可以用微軟提供的接口,進行快速的操作,來實現功能。
比如排序。

IComparable 接口的CompareTo方法

class Pc : IComparable {public string i;public Pc(string i){this.i = i;}public int CompareTo(object obj){return i.CompareTo((obj as Pc).i);//或是升序比較,反過來或是降序。} }static void Main(string[] args)List<Pc> pp = new List<Pc>();pp.AddRange(new Pc[] {new Pc("2"),new Pc("1"),new Pc("3")});pp.Sort();foreach (Pc item in pp){Console.WriteLine(item.i);}}

兩個對象直接比較 IComparer 的Compare 方法

class compare {private string name;private int age;public compare() { }public compare(int age){this.age = age;}public string Name { get => name; set => name = value; }public int Age { get => age; set => age = value; }}class testCompare : IComparer<compare> {public int Compare(compare x, compare y){return x.Age.CompareTo(y.Age);} }static void Main(string[] args){List<compare> cp = new List<compare>();cp.AddRange(new compare[] {new compare(22),new compare(18),new compare(20)});cp.Sort(new testCompare()); //這里有區別。foreach (var item in cp){Console.WriteLine(item.Age);}}

總結

以上是生活随笔為你收集整理的.Net 中接口应用的知识点(排序)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。