我正在寻找一个使用变量,自定义运算符和用户定义函数的.NET Math Parser ... 从今天开始我使用了muParser(.NET有一个包装版本),但我注意到它太慢了!
有没有人知道另一个运行得很好的Math Parser(免费!)?
我试过NCalc,但它没有变量,所以它失败了..
答案 0 :(得分:8)
我今天发现这三个,所有这些都支持变量和用户定义的函数,但只有muParser似乎支持自定义运算符:
对于我的小玩具项目,我选择了Math Parser .NET,因为它支持^
的权力,而NCalc则不支持,而muParser在某种程度上并没有吸引我。还有另一个好处:Math Parser .NET支持原生C#代理作为自定义函数!其他图书馆提供的解决方案看起来并不那么优雅。
答案 1 :(得分:5)
我使用IronPython作为表达式评估程序。
答案 2 :(得分:4)
你应该看看Jace.NET。 Jace是高性能的c#数学解析器,支持所有数学运算,变量,(自定义)函数......它支持Microsoft的所有主要.NET平台:.NET 4.x,Windows Phone 7& 8,Windows Store。
答案 3 :(得分:3)
您可以尝试Mathos Parser(https://mathosparser.codeplex.com/),它允许您添加自定义运算符,自定义变量和自定义函数。它支持几乎所有来自Math命名空间的操作,并且具有预先构建的一组操作符。由于解析器没有那么多依赖项,因此很容易将源代码粘贴到项目中(它少于500行代码)!
答案 4 :(得分:1)
尝试反讽(http://irony.codeplex.com)。它允许你解析表达式,你可以做任何事情:构建一个委托以进行极快的计算,突出显示语法,或者喜欢在我的项目中,转换为Latex并在数学公式中显示它的表示。