C# C“如有其他适当情况”;“什么也不做”;语法

C# C“如有其他适当情况”;“什么也不做”;语法,c#,syntax,C#,Syntax,我对编程相当陌生,在最近的工作中,我创建了以下嵌套在for循环中的if-else语句: for (int i = 0; i < originalColumnCells.Count; i++) { if (originalColumnCells[i] == sortedColumnCells[i]) { // Do Nothing } else { return false; } } for(int i=0;i

我对编程相当陌生,在最近的工作中,我创建了以下嵌套在for循环中的if-else语句:

for (int i = 0; i < originalColumnCells.Count; i++)
{
    if (originalColumnCells[i] == sortedColumnCells[i])
    {
        // Do Nothing
    }
    else
    {
        return false;
    }
}
for(int i=0;i
如您所见,在if语句中,如果该语句为true,我希望该方法不执行任何操作。在这种情况下,注释掉“//什么都不做”是正确的语法,还是应该将其保留为开括号和闭括号?或者把大括号放在if行的末尾


如果您有任何关于处理此问题的“正确”方法的建议,我们将不胜感激。

为什么不否定此表达

for (int i = 0; i < originalColumnCells.Count; i++)
{
    if (originalColumnCells[i] != sortedColumnCells[i])
    {
        return false;
    }
}
for(int i=0;i
将if语句更改为!=并将其余的一起删除:

if (originalColumnCells[i] != sortedColumnCells[i])
{
   return false;
}
// No else

您可以反转该语句:

if (originalColumnCells[i] != sortedColumnCells[i])
但是还有别的事情。有时,您希望表明您已经考虑过需要一个
else
分支,但您并不需要它。(如果我有更大的代码块和复杂的语句,我有时会想要一个),那么我认为可以使用以下内容:

else
{
    // no action, already handled later on in bla bla
}

一般来说,你想解释一些不寻常的事情

{

}  
这个应该是空的吗?有什么东西被删除了吗?最好明确你的意图:

{
    // do nothing
}  
但是,一般来说,您可能希望更改if语句,这样就不会得到空语句。我看到一些答案说要将比较从
==
更改为
=。然而,像这样的陈述又如何呢

if (a > b && c == d || Object.ReferenceEquals(null, e)) ...  

为了将其反转,您可以将
更改为
如果(originalColumnCells[i]!=sortedColumnCells[i]){/*执行您想要的操作*/}
将其反转<代码>原始列单元格[i]!=分类列单元格[i]
。现在你不需要其他人了,请把这句话写出来
如果(originalColumnCells[i]!=sortedColumnCells[i]){return false}
则您不必担心“不做任何事情”的块这些都没有-反转条件并在匹配时执行工作。或者将循环转换为LINQ查询,该查询只返回匹配的索引、记录等,并对其进行处理。有趣的是,这似乎符合您的要求。我会争辩说,如果您需要声明这些内容,那么您的代码太复杂,无法真正维护。嗯,有时确实如此,但是将代码分成更小的块可能会使事情变得更糟(特别是当您必须输入相当多的变量时)。我也不喜欢它,也不会建议你使用它,但如果你需要的话,也没关系。
if (!(a > b && c == d || Object.ReferenceEquals(null, e))) ...