Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 使用变量、用户定义函数和自定义运算符的最佳免费C#数学解析器_.net_Math_Generator - Fatal编程技术网

.net 使用变量、用户定义函数和自定义运算符的最佳免费C#数学解析器

.net 使用变量、用户定义函数和自定义运算符的最佳免费C#数学解析器,.net,math,generator,.net,Math,Generator,我正在寻找一个使用变量、自定义运算符和用户定义函数的.NET数学解析器。。。 从今天起我就开始使用muParser(有一个.NET的包装版本),但我注意到它太慢了 有人知道另一个工作得很好的数学解析器(免费!)吗 我尝试了NCalc,但它没有变量,所以失败了。我用它作为表达式计算器。我今天发现了这三种,它们都支持变量和用户定义的函数,但似乎只有muParser支持自定义运算符: -有一个.NET包装器 对于我的小玩具项目,我选择了它,因为它支持powers的^,而NCalc不支持,而且

我正在寻找一个使用变量、自定义运算符和用户定义函数的.NET数学解析器。。。 从今天起我就开始使用muParser(有一个.NET的包装版本),但我注意到它太慢了

有人知道另一个工作得很好的数学解析器(免费!)吗


我尝试了NCalc,但它没有变量,所以失败了。

我用它作为表达式计算器。

我今天发现了这三种,它们都支持变量和用户定义的函数,但似乎只有muParser支持自定义运算符:

  • -有一个.NET包装器

对于我的小玩具项目,我选择了它,因为它支持powers的
^
,而NCalc不支持,而且muParser对我的吸引力不大。还有另一个好处:Math Parser.NET支持本地C#委托作为自定义函数!其他库提供的解决方案看起来并不优雅。

您可以尝试Mathos Parser(),它允许您添加自定义运算符、自定义变量和自定义函数。它几乎支持Math命名空间中的所有操作,并具有一组预构建的运算符。由于解析器没有那么多的依赖项,所以很容易将源代码粘贴到项目中(少于500行代码)

试试讽刺()。它允许你解析表达式,你可以用它做任何事情:为极快的计算构建一个委托,突出显示语法,或者像在我的项目中一样,转换为Latex并在数学公式中显示它的表示形式。

你应该看看Jace.NET。Jace是高性能的c#数学解析器,支持所有数学运算、变量、(自定义)函数。。。它支持Microsoft的所有主要.NET平台:.NET 4.x、Windows Phone 7和8、Windows应用商店


与其说是数学解析器,不如说是一种通用脚本语言,但由于OP没有指定他是否想要进行符号操作,因此有权投票。@Inuyasha实际上,当我在项目中使用它时,我只需要basic+、-和*计算器,即使没有变量。因此,使用脚本引擎来实现这一点似乎有些过头了。但是它太容易使用了,所以我选择了它。我觉得铁蟒蛇对我来说太慢了。。我需要一个解析器来编译公式,所以我不需要每次调用它时都对它进行解析。我没有对IronPython脚本进行任何性能评估,因为性能对我来说并不重要,所以我不能对它说任何话。但我相信,您可以动态编译IronPython脚本,然后使用从C#编译的版本。