1
我使用NCalc建立在C#中的数学表达式:NCalc在C#中的数学表达式 -
Expression e = new Expression("2 + 3 * 5");
Debug.Assert(17 == e.Evaluate());
但第二行给我一个错误 - “==操作符不能应用于int类型和对象的操作数“
如何解决这个问题呢?
我使用NCalc建立在C#中的数学表达式:NCalc在C#中的数学表达式 -
Expression e = new Expression("2 + 3 * 5");
Debug.Assert(17 == e.Evaluate());
但第二行给我一个错误 - “==操作符不能应用于int类型和对象的操作数“
如何解决这个问题呢?
的Evaluate()
方法返回一个object
(从source code),所以你需要插入铸造,使这项工作:
Debug.Assert(17 == (int) e.Evaluate());
“简单表达”例如在NCalc home page不正确。
我尝试了转换,但后来发生错误 - '在mscorlib.dll模块中找不到类型System.ApplicationException' – user2262230
投?.................. –
你需要把结果作为值需要拆箱!例如'(int)e.Evaluate',这是假定'e.Evaluate'确实会导致一个'int'而不是一些代表性的类型或容器类型 – Charleh
错误信息是否不够明确?对于初学者来说,空的异常可能会很奇怪,但是这真的很简单... –