如果在非括号内的foreach里面括起来

Sma*_*ode 0 .net c# foreach if-statement

这可能已经在某个地方得到了回答,但我无法找到一个好的方法来说出我的搜索.

foreach(item in list)
  if(something)
  {
    dosomething();
  }
if(somethingunrelated)
  {
    dosomethingunrelated();
  }
Run Code Online (Sandbox Code Playgroud)

除了显然非常难以阅读之外,是否有任何方法可以跳过if语句?

我认为这里预期的是foreach将迭代列表中的每个项目并应用第一个if语句.在foreach完成后,第二个if将被应用一次.

我没有写这个,并且正在寻找遗留系统的问题.我不认为这是它,但我似乎记得你只能跳过括号,如果所有嵌套都跳过括号(在c#.net中).那是对的吗?

mik*_*ike 5

foreach(item in list)
    if(something)
    {
        dosomething();
    }
    if(somethingunrelated)
    {
        dosomethingunrelated();
    }
Run Code Online (Sandbox Code Playgroud)

在逻辑上与此相同

foreach(item in list)
{
    if(something)
    {
        dosomething();
    }
}
if(somethingunrelated)
{
    dosomethingunrelated();
}
Run Code Online (Sandbox Code Playgroud)

不要被缩进所愚弄.