2009-08-11 90 views
0

問題是,在c#中我不能減去對象,所以我需要弄清楚如何從中得到整數,然後做算術?這是代碼..我錯過了什麼?我需要在不同DataTables中的兩個字段的總和

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

回答

1

如果您知道數據是整數,你應該使用Convert.ToInt16或類似功能提取整數。一定要添加額外的異常處理,以防數據變爲非整數。

0

計算功能的返回類型是什麼?目的?還是定義的類型?

如果定義了,你可以重載' - '操作符,你知道嗎? 否則,什麼阻止你創建一個採用這兩個結構並返回所需的整數結果的方法?爲什麼一定要用' - '?

+0

計算的定義已經返回類型對象的對象。有什麼方法可以調整嗎? – kristofer 2009-08-11 18:41:17

+0

然後我建議你創建一個函數,它將接受兩個對象,檢查兩個對象是否是整數,然後返回差異,否則拋出異常。 – 2009-08-12 17:20:08

1

可以使用int.TryParse作爲DataTable.Compute的輸出

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; 
    } 
} 
相關問題