Сумма TextBox циклом
Необходимо получить сумму всех значений Textbox'ов. Можно их, конечно, конвертировать и складывать без цикла, но их 6 штук. Хотелось бы как-то уменьшить. Пробовала так:
foreach (TextBox textBox in groupBox1.Controls.OfType<TextBox>())
{
sum = +Convert.ToDouble(textBox.Text);
}
Не получается. После выполнения sum равна последнему. Что делаю не так?
Ответы (1 шт):
sum = +Convert.ToDouble(textBox.Text);
я бы поменял на
sum += Convert.ToDouble(textBox.Text);
В комментариях мне подказывают, что нужно поясниить ответ. Дело в том, что (и я уверен, что это просто опечатка) Вы использовали "оператор" =+ в выражении, в котором хотели бы делать суммирование. Для этого служит оператор += (без кавычек, потому что такой оператор в языке действительно есть).
А когда написано "=+" - то это интерпретируется как "сдалть знак + (то есть, ничегонее менять) для конвертированного значения и присвоить". Вместо того, чтобы складывать последовательные значения.
В результате, на каждом шаге цикла происходит присвоение, а не суммирование. И в результате самого последнего присвоения sum равна последнему значанию.