我对编程很新,在我最近的工作中,我创建了以下if if语句嵌套在for循环中:
for (int i = 0; i < originalColumnCells.Count; i++)
{
if (originalColumnCells[i] == sortedColumnCells[i])
{
// Do Nothing
}
else
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
在if语句中,正如您所看到的,如果语句为true,我希望该方法不执行任何操作.在这种情况下,是否正确的语法来注释掉"// Do Nothing",还是应该将它作为开放和封闭的括号?或者也许把括号放在if行的末尾?
任何有关"正确"处理此方法的建议都将受到赞赏
为什么不否定表达?
for (int i = 0; i < originalColumnCells.Count; i++)
{
if (originalColumnCells[i] != sortedColumnCells[i])
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
将 if 语句更改为 != 并将 else 一起删除:
if (originalColumnCells[i] != sortedColumnCells[i])
{
return false;
}
// No else
Run Code Online (Sandbox Code Playgroud)
一般来说,你想解释不寻常的事情。
{
}
Run Code Online (Sandbox Code Playgroud)
这应该是空的吗?东西被删除了吗?最好使您的意图明确:
{
// do nothing
}
Run Code Online (Sandbox Code Playgroud)
但是——一般来说——你可能想要改变你的 if 语句,这样你就不会得到空语句。我看到几个答案说要将比较从 更改==为!=。但是,像这样的语句呢?
if (a > b && c == d || Object.ReferenceEquals(null, e)) ...
Run Code Online (Sandbox Code Playgroud)
为了反转这一点,您需要更改>为<=、更改==为!=、更改&&和||运算符等。我发现最简单的方法是反转整个语句 with!而不是尝试更改每个比较运算符:
if (!(a > b && c == d || Object.ReferenceEquals(null, e))) ...
Run Code Online (Sandbox Code Playgroud)