真正的新手问题,但为什么这不起作用?我正进入(状态
使用未分配的变量'比较'
作为错误
string comparison;
Console.WriteLine("Enter the first number");
int firstNum = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter the second number");
int secondNum = Convert.ToInt32(Console.ReadLine());
if (firstNum == secondNum)
comparison = "equals to";
if (firstNum < secondNum)
comparison = "less than";
if (firstNum > secondNum)
comparison = "greater than";
Console.WriteLine("{0}",comparison);
Run Code Online (Sandbox Code Playgroud)
Jes*_*cer 12
因为编译器不知道comparison是在可执行路径中.将三个更改ifs为if-then-elses:
if (firstNum == secondNum)
comparison = "equals to";
else if (firstNum < secondNum)
comparison = "less than";
else
comparison = "greater than";
Run Code Online (Sandbox Code Playgroud)
它会起作用
这几乎是自我解释 - 无法保证比较(具有值),并且编译器因此而抛出错误.
基本上你的if语句可能永远不会将值设置为'比较',这就是它失败的原因.
围绕这个快速而肮脏的方式是以类似于此的方式声明比较
string comparison = "unassigned";
要么
string comparison = String.Empty;