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
錯誤信息是否不夠明確?對於初學者來說,空的異常可能會很奇怪,但是這真的很簡單... –