close

在程式中我們一定會遇到需要比較的狀況

Equals 是一個很基本的比較功能

他單純就是比較 Object A 與 Object B 有沒有相同

但如果我們有大量的數值需要比較

我們可能需要一些比較聰明的方式

例如說我們的遊戲中會有需要做排名

如果等級相同的話怎麼辦

我們可能就會判斷經驗值或是戰力成就等等

就是會有多比較值

那你可能就會需要使用Comparer了

如果照剛剛那樣的狀況

一般正常在學程式的人一定會寫的非常辛苦

for 迴圈  寫了一大堆的判斷 還要跑好幾趟

那以下就來看看我的範例吧

C# Comparer 範例1

02C# Comparer 範例2

執行完畢後大家就可以知道這其中的方便性了

另外Compare的回傳值

如果你是要把比較大的放在前面 就要用-1

-1就是索引的前面 1就是索引的後面 0 就是相同

如果你把-1 打成-2也是可以 他會去判斷<=-1 及 >=1

但這3種值得回傳都必須要有喔!

arrow
arrow

    Weight 發表在 痞客邦 留言(1) 人氣()