2009-08-11 2 views
0

문제는 C#에서 개체를 빼기 수 없기 때문에 정수를 가져 와서 산술을 수행하는 방법을 알아야합니다. 여기에 코드가 있습니다. 내가 무엇을 놓치고 있습니까?다른 DataTable에있는 두 개의 필드의 합이 필요합니다.

dsfDataSet.itemTotals.Compute("SUM(priceSum)", String.Empty) - dsfDataSet.discountItems.Compute("SUM(totDiscount)", String.Empty) 

답변

1

데이터가 정수인 경우 Convert.ToInt16 또는 유사한 함수를 사용하여 정수를 추출해야합니다. 데이터가 정수가 아닌 경우 예외 처리를 추가하십시오.

0

Compute 함수의 반환 유형은 무엇입니까? 목적? 또는 정의 된 유형?

정의되면 '-'연산자를 오버로드 할 수 있습니다. 그렇지 않으면 두 가지 구조를 취하고 필요한 정수 결과를 반환하는 메서드를 만드는 것을 어떻게 막을 수 있습니까? 왜 '-'와 함께 있어야합니까? 당신이 DataTable.Compute의 출력으로 int.TryParse 사용할 수 있습니다

+0

컴퓨팅이 유형의 개체를 반환 이미 정의 된 개체입니다. 그것을 조정할 방법이 있습니까? – kristofer

+0

그럼 두 객체를 취하고 둘 다 정수인지 확인한 다음 차이를 반환하거나 그렇지 않으면 예외를 throw하는 함수를 만드는 것이 좋습니다. –

1

int priceSum,totDiscount; 

if(int.TryParse(dsfDataSet.itemTotals.Compute("SUM(priceSum)", String.Empty).ToString(),out priceSum)) 
{ 
    if(int.TryParse(dsfDataSet.discountItems.Compute("SUM(totDiscount)", String.Empty).ToString(),out totDiscount)) 
    { 
    priceSum - totDiscount; 
    } 
} 
관련 문제