Мне нужна сумма двух полей, которые находятся в разных DataTables - PullRequest
0 голосов
/ 11 августа 2009

Проблема в том, что в c # я не могу вычесть объекты, поэтому мне нужно выяснить, как получить из них целые числа, а затем выполнить арифметику? Вот код .. что мне не хватает?

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

Ответы [ 3 ]

1 голос
/ 11 августа 2009

вы можете использовать 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;
  }
}
1 голос
/ 11 августа 2009

Если вы знаете, что данные целочисленные, вы должны использовать Convert.ToInt16 или аналогичные функции для извлечения целых чисел. Обязательно добавьте дополнительную обработку исключений, если данные не целочисленные.

0 голосов
/ 11 августа 2009

Каков тип возврата вашей функции вычисления? Объект? Или определенный тип?

Если определено, вы МОЖЕТЕ перегрузить оператор '-', понимаете? Иначе, что мешает вам создать метод, который принимает эти две структуры и возвращает нужный вам целочисленный результат? Почему это должно быть с '-'?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...