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

AndreyAAA

Client
Joined
May 7, 2016
Messages
1,269
Reaction score
82
Points
48
Работа с таблицами , сложение.
Посоветуйте, как постоянно брать из определенного столбца данные ( цифры) и суммировать их?
 

dio-dev

Client
Joined
Nov 5, 2018
Messages
149
Reaction score
55
Points
28
Code:
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;
 
  • Thank you
Reactions: qweqwe5435

AndreyAAA

Client
Joined
May 7, 2016
Messages
1,269
Reaction score
82
Points
48
Code:
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
Joined
Nov 5, 2018
Messages
149
Reaction score
55
Points
28
.ElementAt(2) - где 2 номер колонки по порядку, отщет в масиве начинаеться с 0.
Если 2 - это 3 колонка.
 

AndreyAAA

Client
Joined
May 7, 2016
Messages
1,269
Reaction score
82
Points
48
Что то не получилось, формат не коректен, думал не правильно номер столбца дал но правильный.
Возможно потому что там не целые числа, 0.021
 

dio-dev

Client
Joined
Nov 5, 2018
Messages
149
Reaction score
55
Points
28
Там еще делай проверку на пустые ячейки, и попробуй использовать TryParse
 

AndreyAAA

Client
Joined
May 7, 2016
Messages
1,269
Reaction score
82
Points
48
Возможно потому что там не целые числа, 0.021
Что это?
Пустых ячеек нету точно.
 

dio-dev

Client
Joined
Nov 5, 2018
Messages
149
Reaction score
55
Points
28
Если есть дробные числа то тебе нада использовать double
Code:
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
Joined
May 7, 2016
Messages
1,269
Reaction score
82
Points
48
Не получилось, та же ошибка, не правильный формат строки, только при чем тут строка, если у меня столбцы.
 

dio-dev

Client
Joined
Nov 5, 2018
Messages
149
Reaction score
55
Points
28
Скинь проект или таблицу
 

dio-dev

Client
Joined
Nov 5, 2018
Messages
149
Reaction score
55
Points
28
Code:
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;
 

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)