КАК Изменить значение глобальной переменной в локальной области видимости без переопределения
int val;
while (sqlReader.Read())
{
if (textBox_reg_login.Text == sqlReader["login"].ToString())
{
label_reg_login_message.Text = "Логин с таким значением уже существует";
val = 1; //Глобальная переменная переопределяется
break;
}
}
if (val == 1) //И здесь уже ошибка: переменной val не присвоено значение
{
}
Откуда берётся ошибка, понятно: ведь ничто не гарантирует, что внутри цикла while будет присвоено значение переменной val. А чтение неинициализированной переменной в языке не разрешено.
Инициализируйте val каким-то значением до цикла.
И кстати, у вас val, судя по всему, локальная переменная. Поля классов (как простые, так и статические) инициализируются по умолчанию значением default соответствующего типа.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей