2013-12-23 4 views
1

:NCalc 수식 - 나는 C#에서 수학 수식을 만듭니다 NCalc을 사용하고

 Expression e = new Expression("2 + 3 * 5"); 

     Debug.Assert(17 == e.Evaluate()); 

그러나 두 번째 줄은 나에게 오류 제공 - "연산자 ==는 int 형과 객체의 피연산자에 적용 할 수 없습니다 "

이 문제를 해결하는 방법은 무엇입니까? NCalc home page

Debug.Assert(17 == (int) e.Evaluate()); 

은 "간단한 표현"예 올바르지 않습니다

+8

캐스트? .................. –

+0

값을 언 박싱해야하므로 결과를 캐스팅해야합니다! 예 : '(int) e.Evaluate', 이것은'e.Evaluate'가 실제로 int 타입을 나타내지 만 어떤 대표 타입이나 컨테이너 타입이 아님을 가정합니다. – Charleh

+0

에러 메시지가 충분히 명확하지 않습니까? null 예외 하나는 초보자에게는 이상 할 수 있지만, 그 중 하나는 실제로는 매우 간단합니다 ... –

답변

2

Evaluate() 방법합니다 (source code에서)를 object, 당신은 캐스트를 삽입해야하므로이 작업을 위해 반환합니다.

+0

캐스팅을 시도했지만 오류가 발생했습니다 - '모듈 mscorlib.dll에서 System.ApplicationException 유형을 찾을 수 없습니다' – user2262230

관련 문제