一两个“if”语句之间的差异

时间:2018-03-17 21:47:44

标签: c# if-statement

我现在想(理论上)使用

之间的区别
if (a == x && b == y)

if (a == x){
    if (b == y){

    }
}

编辑:我的问题不是关于结果,而是关于表演的更多信息。我发现那种类型的表然后搜索它更有效,直接进行研究。我想知道是否有相同的事情,或者如果编译器只是将'和'替换为另一个

谢谢

3 个答案:

答案 0 :(得分:0)

当你使用&&逻辑运算符如果第一次表达式为假,则不会计算第二次表达式。所以理论上两个例子都是一样的。

答案 1 :(得分:-1)

在第一种情况下:

if (a == x && b == y)
{
    // code block
}

代码块永远不会执行,除非两个条件a == x&& b == y是真的

但在第二种情况下:

if (a == x)
{
    // code block 1

    if (b == y)
    {
        // code block 2
    }
}
仅当第一个条件 a == x 为真时,

代码区块才会执行 但代码区块2 将在两个条件 a == x&& b == y 是真的

答案 2 :(得分:-1)

如果(a == x&& b == y)

1)在这种情况下,值都应为true意味着它们必须满足条件,然后只有if条件才能满足。

另一方面:

如果(a == x){

   If( b == y){

       }
}
  • 在这种情况下,如果第一个条件通过意味着(a == x)满足那么我们进入if条件然后我们检查第二个条件(b == y)。意味着它按顺序工作。您还可以在满足第一个条件后执行某些功能。