java中有&和&&,|和||,那么在c#中是不是一样的呢??

解决方案 »

  1.   

    "Java里的短路与非短路运算符" 与 "C#里的短路与非短路运算符" 是一样的./* 
     * 短路与非短路运算符测试
     * 
     * false || false --> false
     * false || true  --> true
     * true  || false --> true
     * true  || true  --> true
     * 
     * false && false --> false
     * false && true  --> false
     * true  && false --> false
     * true  && true  --> true
    */
    class A
    {
        public static void Main(string[] args)
        {
    int x = 0;
            Console.WriteLine(1 == x && 1 == 1/x); // 把&&换成&则抛异常
        }
    }
    麻烦帮忙顶一个的帖: CSDN里的C#.Net "精彩博客"收藏帖
    谢谢!
      

  2.   

    C#很大程度上都借鉴了java,这一块当然一样啊。
      

  3.   

    有的,下面输出10,因为虽然第一个a < b不成立,但因为使用&,所以(b = 10) > a依然会执行
    static void Main(string[] args)
    {
       int a=9;
       int b=4;
       if ((a < b) & ((b = 10) > a))
       {
              
       }
       Console.WriteLine(b);
    }
      

  4.   

    实际上我们常用的&&、||叫短路与和短路或,& |在对bool型运算时,叫非短路与,非短路或
      

  5.   

    汗。我第一次听见短路的叫法。无知了阿我都是叫 &与(并且) | 或的
      

  6.   

    我发现 与C的不一样。不知道是否是我设置的问题还是怎样,我的程序中发现不能短路运算。
    if(a==null || a.toString()!=""),会出现问题。