高阶函数

高阶函数是将另一个函数作为参数或返回函数(或两者)的函数。

这通常用 lambda 来完成,例如在将谓词传递给 LINQ Where 子句时:

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

Where() 子句可以接收许多不同的谓词,从而赋予它相当大的灵活性。

在实现策略设计模式时,也可以看到将方法传递给另一种方法。例如,可以根据运行时的要求从对象中选择各种排序方法并将其传递到对象上。