日期:2014-05-17 浏览次数:21312 次
class A { public static void Main(string[] args) { int x = 0; Console.WriteLine(1 == x && 1 == 1/x); // 把&&换成&则抛异常 } }
------解决方案--------------------
有的,下面输出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);
}
------解决方案--------------------
实际上我们常用的&&、||叫短路与和短路或,& |在对bool型运算时,叫非短路与,非短路或