---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
这个问题是我觉得对于思维训练很好的东东,可能看起来很简单,可是实际应用的时候,其实很少有人会注意到!
下面是我写的代码,以及自己根据例子对于逻辑与和逻辑或的一些简单的分析
int a = 5, b = 10;
bool result;//逻辑与&&的运算成立规则,是两个都为真(true)时,结果才为真(true)
//所以,下面的表达式,由于&&左边的运算结果是假(false),所以表达式没有继续运行,所以b的值并没有改变
result = ++a > 10 && ++b < 5;
Console.WriteLine("a={0},b={1},result={2}", a, b, result);
Console.ReadKey();
//逻辑或||的运算成立规则,是其中一个为假(False)时,结果就为假(False)
//所以,下面的表达式,由于||左边的运算结果是真(True),所以表达式继续运行,b的值发生改变
result = ++a > 10 || ++b < 5;
Console.WriteLine("a={0},b={1},result={2}", a, b, result);
Console.ReadKey();
//下面的表达式,因为||左边的运算结果是假(False),符合逻辑或||的运算成立规则,所以||右边的表达式没有执行,因此b的值没有改变
result = ++a < 10 || ++b < 5;
Console.WriteLine("a={0},b={1},result={2}", a, b, result);
Console.ReadKey();
这个是我这三个小程序的运行结果,供大家参考!
希望对于逻辑与和逻辑或的短路问题能有一些理解!
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
详细请查看:www.itheima.com