Последняя, но третья строка кода не распознает переменные, которые я объявил и заполнил строками.не распознает объявленные переменные в C# .net
static void Main(string[] args)
{
string inputNumber = "1979";
string input1 = inputNumber.Substring(0, 1);
string input2 = inputNumber.Substring(1, 1);
string input3 = inputNumber.Substring(2, 1);
string input4 = inputNumber.Substring(3, 1);
int intInput1;
int intInput2;
int intInput3;
int intInput4;
intInput1 = Convert.ToInt32(input1);
intInput2 = Convert.ToInt32(input2);
intInput3 = Convert.ToInt32(input3);
intInput4 = Convert.ToInt32(input4);
string stringOutput1;
string stringOutput2;
string stringOutput3;
string stringOutput4;
// 1000 Input.
switch (intInput1)
{
case 1:
stringOutput1 = "M";
break;
default:
break;
}
//100 Input
switch (intInput2)
{
case 9:
stringOutput2 = "CM";
break;
default:
break;
}
//10 Input
switch (intInput3)
{
case 7:
stringOutput3 = "LXX";
break;
default:
break;
}
//1 Input
switch (intInput4)
{
case 9:
stringOutput4 = "IX";
break;
default:
break;
}
//Use of unassigned local variable error is showing for 'stringOutput1', 'stringOutput2', 'stringOutput3' and 'stringOutput4'
Console.WriteLine("{0} is {1}{2}{3}{4} in Roman Numerals",inputNumber, stringOutput1, stringOutput2, stringOutput3, stringOutput4);
Console.CursorVisible = false;
Console.ReadKey();
}
P.S. Я знаю, что переменные заполняются путем комментирования
Console.WriteLine("{0} is {1}{2}{3}{4} in Roman Numerals",inputNumber, stringOutput1, stringOutput2, stringOutput3, stringOutput4);
и с использованием точки останова и перехода на код.
'// Использование неназначенной локальной переменной ошибки показывает для«stringOutput1»,«stringOutput2»,«stringOutput3»и«stringOutput4'' .. –
компилятор хочет предотвратить вас от неосторожных ошибок. Не гарантируется, что эти переменные всегда инициализируются. Вы используете 'switch-case', который инициализирует' stringOutput1', если 'intInput1 == 1'. Во всех остальных случаях он по-прежнему «null». То же самое относится к другим переменным. Используйте 'default'-section, чтобы назначить значение по умолчанию или назначить его в первую очередь (f.e.' String stringOutput1 = null; ') –