如果 - else语句没有别的

maa*_*m27 1 c# if-statement

有人可以解释一下为什么if - else语句会像这样工作而不会抛出错误或执行吗?如果这是C#中有意的,有人可以解释一下2之间是否存在差异?

if (comboBox1.SelectedIndex == -1) { }
    {
            //code
    }
Run Code Online (Sandbox Code Playgroud)

而不是使用

  if (comboBox1.SelectedIndex == -1) { }
  else {
            //code
       }
Run Code Online (Sandbox Code Playgroud)

因为我注意到在我重新安排代码以使其更具可读性之后,我意外地在我的代码中创建了一个if - else语句,就像上面那样.

Ric*_*ter 6

第二个街区

if (comboBox1.SelectedIndex == -1) 
{ 
    var a = 10;
}
{
    var b = 10;
}
Run Code Online (Sandbox Code Playgroud)

...不是else块而是一个代码块.这里变量b的范围仅在块内.它是一样的

if (comboBox1.SelectedIndex == -1) 
{ 
    var a = 10;
}
var b = 10;
Run Code Online (Sandbox Code Playgroud)

...除了变量的范围b已经改变.