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