问题是,在c#中我不能减去对象,所以我需要弄清楚如何从中得到整数,然后做算术?这是代码..我错过了什么?我需要在不同DataTables中的两个字段的总和
dsfDataSet.itemTotals.Compute("SUM(priceSum)", String.Empty) - dsfDataSet.discountItems.Compute("SUM(totDiscount)", String.Empty)
问题是,在c#中我不能减去对象,所以我需要弄清楚如何从中得到整数,然后做算术?这是代码..我错过了什么?我需要在不同DataTables中的两个字段的总和
dsfDataSet.itemTotals.Compute("SUM(priceSum)", String.Empty) - dsfDataSet.discountItems.Compute("SUM(totDiscount)", String.Empty)
如果您知道数据是整数,你应该使用Convert.ToInt16或类似功能提取整数。一定要添加额外的异常处理,以防数据变为非整数。
计算功能的返回类型是什么?目的?还是定义的类型?
如果定义了,你可以重载' - '操作符,你知道吗? 否则,什么阻止你创建一个采用这两个结构并返回所需的整数结果的方法?为什么一定要用' - '?
可以使用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;
}
}
计算的定义已经返回类型对象的对象。有什么方法可以调整吗? – kristofer 2009-08-11 18:41:17
然后我建议你创建一个函数,它将接受两个对象,检查两个对象是否是整数,然后返回差异,否则抛出异常。 – 2009-08-12 17:20:08