今天看到老师的视频中有讲逻辑与和逻辑或的短路问题,听后感觉很是不错,与大家分享一下。
逻辑与和逻辑或的短路问题:
逻辑与:
int a=5,b=18;
bool result=++a>100&&++b>10;//由于&&前已经判断出++a之后++a>100为false,所以后面的++b>10就不再计算个,故有b仍为18
Console.WriteLine("a的值为{0},b的值为{1}",a,b);
逻辑或:
int a=5,b=18;
bool result=++a>1||++b>10;//由于&&前已经判断出++a之后++a>1为true,所以后面的++b>10就不再计算个,故有b仍为18
Console.WriteLine("a的值为{0},b的值为{1}",a,b);
|