C 委託(筆記)

2021-08-25 17:19:23 字數 817 閱讀 5531

委託:將方法作為引數進行傳遞的時候,需要利用到委託。

如下例項(筆記):

class bubble}}

while (swpped);}}

class employee //員工工資表

public string name

public decimal money

public static bool com(employee e1, employee e2)=> e1.money < e2.money;

}static void main(string args)

;bubble.sort(em, employee.com);

foreach (var item in em)

}

輸出結果:

王五,10

李四,11

張三,12

趙柳,14

力氣,24

請按任意鍵繼續. . .

這個例子是將兩個類裡面的字段進行大小比較(工資),然後排序,返回乙個結果,因為不能直接用"<"比較類的大小,所以需要另寫乙個方法進行比較,在排序的時候將此方法傳入到排序方法裡面,就行了。

排序裡面的引數是陣列和委託,陣列就傳入職工類陣列,委託就傳入比較大小方法。

(想到自己以前有乙個類似的比較大小也是不能利用「<」比較,當時是在排序裡面直接呼叫的比較方法,沒有將方法進行引數的傳遞。對此有個疑問,為啥一定要將方法傳遞呢。)

根據以上的疑問,對**有進行了修改。修改之後發現,修改後的方法只能對乙個類進行排序。如果其他類也需要排序就需要寫乙個新的排序方法。

C 委託筆記

什麼是委託?宣告委託物件?建立委託物件?賦值委託?組合委託?為委託增加方法?從委託移除方法?呼叫委託?委託的例項?呼叫帶返回值的委託?呼叫帶引用的委託?匿名方法?lambda表示式?委託 有相同簽名和返回值型別的有序方法列表 1 方法的列表稱為呼叫列表 2 當委託被呼叫時,它呼叫列表中的每乙個方法 ...

C 筆記 委託

和類一樣,委託是使用者自定義的型別,但是類是資料和方法的集合,而委託是持有乙個或多個方法。delegate可以看做是乙個包含有序方法列表的物件,這些方法具有相同的簽名和返回型別。public delegate return type delegate name 關鍵字 返回型別 委託類簽名 引數列表...

C 「委託」學習筆記

using system using system.collections.generic using system.linq using system.text namespace delegatetest console.writeline sh3 jiang 組合委託,此時委託就能夠依次執行多...