日期:2014-05-18  浏览次数:21150 次

if else 问题
C# code
 DataSet ds = new DataSet();
                    ds = null;
                    if (ds!=null&&ds.Tables[0].Rows.Count>0)
                    {
                        
                    }

在if里面,我开始以为会报错,但是执行不会报错。
难道不是按照if(false&&false) 来综合判读吗?

------解决方案--------------------
&&是先后判断,按照从左到右的顺序依次判断,前面一个不满足的话,就不会去执行后面的一个判断。
如果你将&&改为&,语法上没错,但是执行将报错,因为&虽然也可以达到目的,但是它会要求前面2个表达式都求值,然后对两个bool类型进行与运算。
------解决方案--------------------
&& 这符号,先左后右,左边如果是 false ,右边的就不执行了