Каким образом я могу присвоить значение переменным, которые рассчитываются внутри конструкции switch?
Только начал изучать C#. Внутри конструкции switch рассчитываю значение переменной R. После закрытия конструкции switch пытаюсь совершить действия с рассчитанными R (их семь, как и семь конструкций switch).
Выдает ошибку: Использование локальной переменной R7, которой не присвоено значение
Ниже код. Таких конструкции switch у меня 7, соответственно выдает 7 ошибок.
switch (comboBox7.Text)
{
case "1":
R7 = metric7 * 1;
break;
case "2":
R7 = metric7 * 2;
break;
case "3":
R7 = metric7 * 3;
break;
case "4":
R7 = metric7 * 4;
break;
case "5":
R7 = metric7 * 5;
break;
}
Rsum = R1 + R2 + R3 + R4 + R5 + R6 + R7;
textBox18.Text = Convert.ToString(Rsum / 5);
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Для преобразования строки в число вам не нужен switch. Вместо этого можно использовать int.Parse или int.TryParse.
if (int.TryParse(comboBox7.Text, out int number))
{
R7 = metric7 * number;
int sum = (R1 + R2 + R3 + R4 + R5 + R6 + R7) / 5;
textBox18.Text = sum.ToString();
}
else
{
textBox18.Text = "Выберите значение";
}
Если же вам нужно объявить и использовать переменную вне блока кода, в котором она присваивается, можете ей присвоить значение по умолчанию, например int R7 = 0 вместо просто int R7.