-
Notifications
You must be signed in to change notification settings - Fork 1
FP 对象FP扩展函数
王学懿 edited this page May 24, 2024
·
2 revisions
在数值、对象上扩展出来的函数,方便直接编写Fp代码,例:
//简单示例
10.Do(() => num = 10 + 1) //对象FP扩展 给10挂接一个函数并转换为函数
.Do(()=> num = num * 2) //这函数的扩展了
//复合示例-同步
byte a = 0x63; //c的16进制
string result = a
.Pipe(t => (int)t) //byte -> int
.PipeIf(true, t => t + 1) //加1后变成100 d的asc码
.Pipe(t => (char)t) //int -> char
.Pipe(t => new char[1] { t }) //char -> char[]
.Pipe(t => new string(t)); //char[] -> string
Assert.Equal("d", result);
//复合示例-异步
//尽请期待...
同FP扩展函数
一样有许多操作函数,具体的推荐按F12
查看定义
函数 | 作用 |
---|---|
Pipe | 管道,适用于对象需要做处理的时候 |
PipeIf | 有条件管道,表意同Pipe ,当满足条件时执行后续函数 |
PipeAsync | 异步管道,表意同Pipe ,支持Pipe一个异步的函数 |
Do | 作用和Pipe系列一样,适用于对象需要后续使用,不对当前对象进行修改 |
DoIf | 有条件Do,表意同Do ,当满足条件时执行后续函数 |
ToFp | To系列,将对象转换为常量函数 |