高階函式

高階函式是將另一個函式作為引數或返回函式(或兩者)的函式。

這通常用 lambda 來完成,例如在將謂詞傳遞給 LINQ Where 子句時:

var results = data.Where(p => p.Items == 0);

Where() 子句可以接收許多不同的謂詞,從而賦予它相當大的靈活性。

在實現策略設計模式時,也可以看到將方法傳遞給另一種方法。例如,可以根據執行時的要求從物件中選擇各種排序方法並將其傳遞到物件上。