C#内建接口:IComparable
????這節(jié)開一個新的系列:C#內建接口。主要給大家講一下C#內部給我們定義的一些常用的接口,以及它們是怎么使用的。基本上一節(jié)講一個吧,本節(jié)先從IComparable開始。
01
了解IComparable
? ??一般的,值類型的數(shù)據(jù)比較大小,就是看它倆的值,這種比較很單純,但是也有某些情況,我們需要對引用類型進行比較,也就是說比較兩個對象誰大誰小,對象之間的比較其實就是根據(jù)業(yè)務需求,比較其屬性,為了統(tǒng)一一個對象比較之間的規(guī)范,C#中定義了一個名為IComparable的接口,顧名思義,繼承了這個接口的對象都是可比較的嘛,那下面就來看看這個接口的成員吧:
????這個接口還是很簡單的 ,就一個CompareTo方法,參數(shù)是可空類型的任意對象,返回一個int數(shù)字,意思就是比較的結果如果是小于,則返回-1,等于返回0,大于則返回1,或者根據(jù)您的業(yè)務,返回任何數(shù)字都是可以。
02
代碼演示
????下面從代碼中演示一下它的使用:
????以上是一個矩形類,有寬和高兩個屬性,比較矩形大小就是比較其面積大小,所以我繼承了IComparable接口,并將面積比較代碼寫在了里面,具體代碼很簡單,也就不做解釋了,但大家需要注意一點,因為參數(shù)是object類型,并且引用類型可以為空,所以不要忘記一些比較的參數(shù)檢查。
????下面用一個控制臺程序為大家做一下結果演示:
????上圖代碼中我創(chuàng)建了兩個對象,一個是12*12的samll,一個是24*24的big,輸出結果為:
????大家也許注意到了我注釋掉的代碼,string也是實現(xiàn)了這個接口的,有興趣的同學可以自己寫寫代碼測試一下,字符串之間是根據(jù)其字符的ASCII表位置來比較的,如果第一個字符相同,則比較第二個,這樣以此類推。
本節(jié)到此結束...
總結
以上是生活随笔為你收集整理的C#内建接口:IComparable的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# WPF MVVM开发框架Calib
- 下一篇: 如何让代码段只运行在 Debug 模式下