2009-08-11 80 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; 
    } 
} 
相关问题