如果 条件1=true and  条件2=true  then
{执行程序;}如果 条件1=true  then
   {如果 条件2=true  then
  执行程序
}
}
这两个语句计算机计算速度是不是一样呢?
对于第一个程序 是不是计算机必须把两个条件全部判断完才进行计算,还是先计算条件1=false ,然后不再判断条件2呢?

解决方案 »

  1.   

    如果是VB
    And都会比较,AndAlso第一个假第二个不比。
    C#
    && 第一个假第二个不比。
      

  2.   

    看你的程序看不出你在想说VB还是C#。另外,你也可以调试下自己验证。方法是,编写如下两个函数bool foo1()
    {
        Console.WriteLine("foo1");
        return false;
    }
    bool foo2()
    {
        Console.WriteLine("foo2");
        return false;
    }
    if (foo1() && foo2())
    {
        ...
    }如果输出2行,就是都执行。输出一行就是只执行一个,自己就能验证。
      

  3.   

    程序是写给人看的~ 所以选择第一种写法~而且应该
    先计算条件1=false ,然后不再判断条件2
      

  4.   

    楼主可以去查一下 (a==true && b==true) 和 (a==true & b==true)
      

  5.   


    这非常明确,c#就是可以仅仅判断第一个而不判断第二个。如果你是从某些文章上看到这个说法,我猜你是从十八年前关于vb4以前的vb开发平台的介绍文章上看到的吧。那时也许热衷于介绍这个,因为早期的vb确实有这个问题。但是将近20年了,vb早就改掉了。而之后的微软平台根本无需担心这类问题。