我试图用NCalc评估表达,
Expression ex = new Expression("3[X] + 4[Y]");
ex.Parameters["X"] = 10;
ex.Parameters["Y"] = 20;
我收到了这个错误:
在第1:1行的'[x]'处缺少EOF
不确定我为什么会收到此错误?变量的方括号是否与此有关?
答案 0 :(得分:1)
请参阅NCalc' parameters documentation。
使用静态参数:
Expression e = new Expression("2 * [x] ^ 2 + 5 * [y]");
e.Parameters["x"] = 5;
e.Parameters["y"] = 1;
Console.WriteLine(e.Evaluate());
从你的例子:
Expression ex = new Expression("3 * [X] + 4 * [Y]");
ex.Parameters["X"] = 10;
ex.Parameters["Y"] = 20;
// 110
Console.WriteLine(ex.Evaluate());