具有运算符(如Max、Min、Avg、Mean、Medium和Operands)的公式的动态求值计数可以大于2



在c#中,有没有一种方法可以在具有多个值的字符串中使用Add、Subtract、Max、Min、Average、Mean、Middle运算符获得公式的结果,其中任何子表达式中的操作数都可以大于2?

类似的东西

var result = Eval("Max(1,2,3, Avg(4,5,6,7), 9+10+9.9, 11/12)")

或任何其他方式(不拆分字符串或单独评估每个操作(?

我试着搜索,但没有得到任何完整的解决方案。我发现RegExDataTable.Computer或Math库不支持具有两个以上值的操作。

不清楚您到底在问什么,但如果您正在寻找支持多个输入值的MaxAvg版本,则可以使用LINQ:

using System.Linq;
var result = new[] { 1, 2, 3, new[] { 4, 5, 6, 7 }.Average(), 9 + 10, 11/12 }.Max();

result19,因为9 + 10是这些元素中最大的。

相关内容

  • 没有找到相关文章

最新更新