簡體   English   中英

如果-else語句沒有其他

[英]If - else statement without else

有人可以向我解釋為什么if-else語句像這樣工作並且不拋出錯誤或錯誤嗎? 如果這在C#中是故意的,是否有人可以解釋兩者之間是否存在差異?

if (comboBox1.SelectedIndex == -1) { }
    {
            //code
    }

而不是使用

  if (comboBox1.SelectedIndex == -1) { }
  else {
            //code
       }

由於我注意到我在重新排列代碼以使其更具可讀性之后,在我的代碼中不小心做出了一個if-else語句,就像上面的語句一樣。

在第二塊

if (comboBox1.SelectedIndex == -1) 
{ 
    var a = 10;
}
{
    var b = 10;
}

...不是else塊,而僅僅是代碼塊。 此處,變量b的作用域僅在塊內。 與...相同

if (comboBox1.SelectedIndex == -1) 
{ 
    var a = 10;
}
var b = 10;

...只是變量b的范圍已更改。

{}定義代碼塊。 您可能在代碼中的任何地方都有這樣的塊。 這並不意味着您必須在if或之后添加它們。

這是因為允許您在函數中間打開一個新塊。 這是合法的:

void func()
{
    Console.WriteLine("Hello");
    {
         Console.WriteLine("World");
    }
}

您可以使用類似這樣的內部塊來限制變量的范圍。

您的第一個代碼是一個if語句,后跟一段代碼(無論if表達式的值如何運行)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM