[英]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.