天天看点

C#函数编程学习

知识补缺

//用Func委托写简单函数
Func<int,int> add = i =>  i + 1;

//定义一个只读属性
public class Tea {
  public Tea(int id) => Id = id; 
  public int Id { get; }
}
      

高阶函数

即HOF。 接受其他函数作为参数的函数,就是HOF。 js中的map, filter, sort其实都算。linq的where, orderby也是

尽量保持函数的纯洁性

纯洁的函数天然就是解耦的,而且利于测试。因为纯洁的函数不依赖外部环境, 输入一个值必然输出对应结果。

一些建议

  • 为了使函数更健壮,接受的参数可以是自定义类,且在类的内部进行数据检查而不是外部
  • 函数的签名要写清楚, 不能只写最理想的输出