Исключение происходит при использовании T Field <T>в моем коде - PullRequest
3 голосов
/ 19 января 2010

Я получаю InvalidCastException, когда пытаюсь использовать этот код. Я не смог решить, как использовать Field. Пожалуйста, помогите мне

DataTable _Transaction= new DataTable();
float NetAmount=0;
//Records inserted into Table 

  for (int i = 0; i < _Transaction.Rows.Count; i++)
            {
                NetAmount += _Transaction.Rows[i].Field<object>("ItemAmount");
            }

РЕДАКТИРОВАТЬ Я действительно хочу получить значение с указанным значением columnName и строкой no из dataTable. _Transaction - это имя таблицы здесь

1 Ответ

2 голосов
/ 19 января 2010

Вам необходимо привести или преобразовать _Transaction.Rows[i].Field<object>("ItemAmount") в тот же тип, что и NetAmount, чтобы оператор += работал с одним типом.

Например, если NetAmount является decimal и поле также является десятичным, используйте Field<decimal> вместо Field<object>. Если поле не является десятичным, используйте для него Convert.ToDecimal.

...