For .NET 4.0 , available on Nuget.
EnvSafe.Expression 是一款字符串表达式解析计算库,可以在正确配置后按括号优先级进行顺序执行。例如给定字符串 1+x*3-(9-4),并且为符号(Symbol)+、-、*做出合适的算符(Operator)关联,则解析该表达式会得到一个执行序列(Procedure),包含4个计算步(Steps):
- 9 – 4 => a
- x * 3 => b
- 1 + b => c
- c – a => d
其中 x 是变量,可以在每次调用执行序列计算前指定。
在循环中使用执行序列时,要比单次解析计算速度快,其本质是委托调用。
本次更新为执行序列增加了一个预简化方法(Presimplify),该方法迭代遍历计算步,预先计算不含变量的步骤,并将结果赋值到其它计算步的变量表中。这样,对于不含变量的计算步较多时,循环计算会有很大的性能提升。
对于上例,简化过程计算出9-4=5,简化后的计算步如下:
- x * 3 => a
- 1 + a => b
- b – 5 => c