逻辑运算符用来连接多个bool类型表达式,实现多个条件的复合判断。C#中的逻辑运算符包括:逻辑非( ! )、逻辑与( && )、逻辑或( || )。
逻辑非用来对某一个bool类型表达式取反,即“真变假”或“假变真”。
Console.WriteLine(1 > 0);//条件表达式为true,输出True
Console.WriteLine(!(1 > 0));//用逻辑非对条件表达式取反,输出False
逻辑与用来判断 2 个bool类型表达式是否同时为true。请看下面的代码:
intx = 5, y = 2;//同时声明2个int型变量并赋值Console.WriteLine(x>3&&y>3);//判断x>3和y>3是否同时为true,由于y>3为false,所以整个表达式为false
只有当&&两边的表达式均为true时,整个表达式才为true;若任意一个表达式为false,整个表达式即为false。
逻辑或用来判断2个bool类型表达式中是否有一个为true。请看下面的代码:
int x = 5, y = 2;//同时声明2个int型变量并赋值Console.WriteLine(x>3||y>3);//判断x>3和y>3是否有一个为true,由于x>3为true,所以整个表达式为true
只要||两边的表达式有一个为true,整个表达式即为true;若两边的表达式均为false,整个表达式为false。
对比一下,就是说: && 运算符,两边同真才算真,一边为假就算假; || 运算符,一边为真即为真,两边同假才是假。

改后代码

运行结果