Сумма TextBox циклом

Необходимо получить сумму всех значений Textbox'ов. Можно их, конечно, конвертировать и складывать без цикла, но их 6 штук. Хотелось бы как-то уменьшить. Пробовала так:

foreach (TextBox textBox in groupBox1.Controls.OfType<TextBox>())
        {
            sum = +Convert.ToDouble(textBox.Text);
        }

Не получается. После выполнения sum равна последнему. Что делаю не так?


Ответы (1 шт):

Автор решения: S.H.
sum = +Convert.ToDouble(textBox.Text);

я бы поменял на

sum += Convert.ToDouble(textBox.Text);

В комментариях мне подказывают, что нужно поясниить ответ. Дело в том, что (и я уверен, что это просто опечатка) Вы использовали "оператор" =+ в выражении, в котором хотели бы делать суммирование. Для этого служит оператор += (без кавычек, потому что такой оператор в языке действительно есть).

А когда написано "=+" - то это интерпретируется как "сдалть знак + (то есть, ничегонее менять) для конвертированного значения и присвоить". Вместо того, чтобы складывать последовательные значения.

В результате, на каждом шаге цикла происходит присвоение, а не суммирование. И в результате самого последнего присвоения sum равна последнему значанию.

→ Ссылка