如果位于非括号内,则加括号
本文关键字:加括号 于非括 如果 | 更新日期: 2023-09-27 18:33:11
这可能以前在某个地方回答过,但我想不出一个好的方式来表达我的搜索。
foreach(item in list)
if(something)
{
dosomething();
}
if(somethingunrelated)
{
dosomethingunrelated();
}
除了明显很难阅读之外,还有什么方法可以跳过 if 语句吗?
我认为这里预期的是 foreach 将迭代列表中的每个项目并应用第一个 if 语句。完成 foreach 后,第二个 if 将应用一次。
我没有写这个,正在搜索旧系统上的问题。我不认为是这样,但我似乎记得,如果嵌套的所有内容也跳过括号(在 c#.net 中),您只能跳过括号。这是对的吗?
foreach(item in list)
if(something)
{
dosomething();
}
if(somethingunrelated)
{
dosomethingunrelated();
}
逻辑上与此相同
foreach(item in list)
{
if(something)
{
dosomething();
}
}
if(somethingunrelated)
{
dosomethingunrelated();
}
不要被缩进所迷惑。
我似乎记得,如果嵌套的所有内容也跳过括号,您只能跳过括号
否 - 如果省略括号,则只有下一个语句将在范围内。 "单个语句"可以是括号中的语句,因此在您的情况下
foreach(...)
if <--
{ |
| // will get executed for each item
} <--
if
{
// will get executed after the `foreach` is complete.
}
第二个 if
语句将在 foreach 循环完成后执行。