Работа с таблицами , сложение.

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 204
Благодарностей
74
Баллы
48
Работа с таблицами , сложение.
Посоветуйте, как постоянно брать из определенного столбца данные ( цифры) и суммировать их?
 

dio-dev

Client
Регистрация
05.11.2018
Сообщения
149
Благодарностей
54
Баллы
28
Код:
var sourceTable = project.Tables["numbers"];
int sum = 0;
for(int i=0; i < sourceTable.RowCount; i++)
{
    int number = Int32.Parse(sourceTable.GetRow(i).ToArray().ElementAt(2));
    sum = sum + number;
}

return sum;
 
  • Спасибо
Реакции: qweqwe5435

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 204
Благодарностей
74
Баллы
48
Код:
var sourceTable = project.Tables["numbers"];
int sum = 0;
for(int i=0; i < sourceTable.RowCount; i++)
{
    int number = Int32.Parse(sourceTable.GetRow(i).ToArray().ElementAt(2));
    sum = sum + number;
}

return sum;
А где там нужная колонка?
У меня в таблице много колонок, сложить нужно только одну
 

dio-dev

Client
Регистрация
05.11.2018
Сообщения
149
Благодарностей
54
Баллы
28
.ElementAt(2) - где 2 номер колонки по порядку, отщет в масиве начинаеться с 0.
Если 2 - это 3 колонка.
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 204
Благодарностей
74
Баллы
48
Что то не получилось, формат не коректен, думал не правильно номер столбца дал но правильный.
Возможно потому что там не целые числа, 0.021
 

dio-dev

Client
Регистрация
05.11.2018
Сообщения
149
Благодарностей
54
Баллы
28
Там еще делай проверку на пустые ячейки, и попробуй использовать TryParse
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 204
Благодарностей
74
Баллы
48

dio-dev

Client
Регистрация
05.11.2018
Сообщения
149
Благодарностей
54
Баллы
28
Если есть дробные числа то тебе нада использовать double
Код:
var sourceTable = project.Tables["numbers"];
double sum = 0;
for(int i=0; i < sourceTable.RowCount; i++)
{
    double number = Double.Parse(sourceTable.GetRow(i).ToArray().ElementAt(2));
    sum = sum + number;
}

return sum;
Что б не выскакивали ошибки можно использовать TryParse только туда вторым аргументом передаешь переменную в которую ложить результат
https://docs.microsoft.com/en-us/dotnet/api/system.int32.tryparse?view=netframework-4.7.2
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 204
Благодарностей
74
Баллы
48
Не получилось, та же ошибка, не правильный формат строки, только при чем тут строка, если у меня столбцы.
 

dio-dev

Client
Регистрация
05.11.2018
Сообщения
149
Благодарностей
54
Баллы
28
Скинь проект или таблицу
 

dio-dev

Client
Регистрация
05.11.2018
Сообщения
149
Благодарностей
54
Баллы
28
Код:
var sourceTable = project.Tables["numbers"];
double sum = 0;
for(int i=0; i < sourceTable.RowCount; i++)
{
    double number = double.Parse(sourceTable.GetRow(i).ToArray().ElementAt(6).Replace('.', ','));
    sum = sum + number;
}
return sum;
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)