逻辑(布尔型)运算符用于对boolean型的结果的表达式进行运算,运算的结果都是boolean型。其运算结果如下所示:
运算符 运算 例子 结果
& AND(与) false&true false
| OR(或) false|true true
^ XOR(异或) false^true true
! NOT(非) !false true
&& AND(短路) false&&true false
|| OR(短路) false||true true
下面对一些比较容易出现问题进行简单解释:
1、“^“ 将计算操作数的逻辑“异或”;也就是说,当且仅当只有一个操作数为 true时,结果才为true。
2、“&”与”&&“的区别在于,如果使用前者连接,那么无论任何情况下,“&”两边的表达式都会参与计算。如果使用后者连接,当“&&”的左边为false,则将不会计算其右边的表达式。
3、“|”与“||”的区别在于,“|”表示两边任何一个布尔表达式为真,该组合就会返回true值;而对于“||”,跟第二差不多,若左边是true则返回true,若左边是falsh,则看右边,若右边为true则为true否则为falsh。
例
代码如下 | 复制代码 |
using System; public partial class _Default : System.Web.UI.Page int x = 0; //&运算,两个中任何一个为假时则为假 Response.Write(" //|运算,当两个中任何一个为真时,运算结果为真,否则为加 Response.Write(" //^运算,当且仅当有一个是True时,为真,否则为假 //!运算,若真则假,若假则真 Response.Write(" //&&短路运算,若左边为假则退出,若左边为真,则看右边 Response.Write("
|
运算符
运算符类别 | 运算符 |
---|---|
基本
|
x.y
f(x)
a[x]
x++
x--
new
typeof
checked
unchecked
->
|
一元
|
+
-
!
~
++x
--x
(T)x
True
False
&
sizeof
|
乘法
|
*
/
%
|
加法
|
+
-
|
变换
|
<<
>>
|
关系和类型检测
|
<
>
<=
>=
is
as
|
相等
|
==
!=
|
逻辑“与”
|
&
|
逻辑 XOR
|
^
|
逻辑“或”
|
|
|
条件 AND
|
&&
|
条件 OR
|
||
|
条件运算
|
?:
|
赋值
|
=
+=
-=
*=
/=
%=
&=
|=
^=
<<=
>>=
??
|
运算符 | 可重载性 |
---|---|
+、-、!、~、++、--、true 和 false
|
可以重载这些一元运算符。
|
+, -, *, /, %, &, |, ^, <<, >>
|
可以重载这些二进制运算符。
|
==, !=, <, >, <=, >=
|
比较运算符可以重载(但请参见本表后面的说明)。
|
&&, ||
|
条件逻辑运算符不能重载,但可使用能够重载的 & 和 | 进行计算。
|
[]
|
不能重载数组索引运算符,但可定义索引器。
|
()
|
不能重载转换运算符,但可定义新的转换运算符(请参见 explicit 和 implicit)。
|
+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=
|
赋值运算符不能重载,但 += 可使用 + 计算,等等。
|
=、.、?:、->、new、is、sizeof 和 typeof
|
不能重载这些运算符。
|
public static Complex operator +(Complex c1, Complex c2)
|