2

我正在尝试在 C# 中使用 MathNet 解析表达式字符串,当我尝试此代码时:

var h = MathNet.Symbolics.Infix.ParseOrUndefined("1/(a*b)");

它抛出异常。

“在 MathNet.Symbolics.dll 中发生了“System.TypeInitializationException”类型的未处理异常

附加信息:'.$Infix' 的类型初始值设定项引发了异常。”

我哪里错了?我使用了 MathNet v.0.6.0.0Visual Studio 2012 Express

更新

它已通过 Windows 的修补程序解决,这是我不更新的坏处。

4

2 回答 2

0

依赖项似乎有问题。您能列出您正在使用的确切软件包版本吗?以及您正在编译的 .Net 版本。

假设您已经通过 NuGet 安装了 Math.NET Symbolics,您可以尝试更新所有依赖项(使用 NuGet)吗?

编辑:我无法用较新的 VisualStudio 版本重现这一点 - 你是否有机会升级,例如免费的VisualStudio 社区

于 2015-10-03T15:18:27.793 回答
-1

我想您必须使用该语法:

 var H = MathNet.Symbolics.Infix.Parse "1/(a*b)";

有趣的是,上述函数将返回 1/(a*b) 而不是该计算的解。如果你想让 H 得到结果,你必须使用:

 var H = MathNet.Symbolics.Infix.Parse "1/(a*b)";
 MathNet.Symbolics.Infix.Print(H);
于 2015-10-03T13:40:34.943 回答