NCalc缺少EOF

时间:2017-03-14 18:41:38

标签: c# ncalc

我试图用NCalc评估表达,

Expression ex = new Expression("3[X] + 4[Y]");
ex.Parameters["X"] = 10;
ex.Parameters["Y"] = 20;

我收到了这个错误:

  

在第1:1行的'[x]'处缺少EOF

不确定我为什么会收到此错误?变量的方括号是否与此有关?

1 个答案:

答案 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());