逻辑(布尔型)运算符用于对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; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page int x = 0; //&运算,两个中任何一个为假时则为假 Response.Write("<br>"); //|运算,当两个中任何一个为真时,运算结果为真,否则为加 Response.Write("<br>"); //^运算,当且仅当有一个是True时,为真,否则为假 //!运算,若真则假,若假则真 Response.Write("<br>"); //&&短路运算,若左边为假则退出,若左边为真,则看右边 Response.Write("<br>");
|
运算符
C# 提供大量运算符,这些运算符是指定在表达式中执行哪些操作的符号。通常允许对枚举进行整型运算,例如 ==、!=、<、>、<=、>=、binary +、binary -、^、&、|、~、++、-- 和 sizeof()。此外,很多运算符可被用户重载,由此在应用到用户定义的类型时更改这些运算符的含义。
运算符类别 | 运算符 |
---|---|
基本 |
x.y f(x) a[x] x++ x-- new typeof checked unchecked -> |
一元 |
+ - ! ~ ++x --x (T)x True False & sizeof |
乘法 |
* / % |
加法 |
+ - |
变换 |
<< >> |
关系和类型检测 |
< > <= >= is as |
相等 |
== != |
逻辑“与” |
& |
逻辑 XOR |
^ |
逻辑“或” |
| |
条件 AND |
&& |
条件 OR |
|| |
条件运算 |
?: |
赋值 |
= += -= *= /= %= &= |= ^= <<= >>= ?? |
- 运算符优先级
- 前++ 前-- +(正号) -(负号)! ~
- * / %
- + -
- << >>
- < > <= >=
- == !=
- &
- ^
- |
- &&
- ||
- 赋值运算
- 后++ 后--
- 可重载运算符
C# 允许用户定义的类型通过使用 operator 关键字定义静态成员函数来重载运算符。但不是所有的运算符都可被重载,下表列出了不能被重载的运算符:
运算符 | 可重载性 |
---|---|
+、-、!、~、++、--、true 和 false |
可以重载这些一元运算符。 |
+, -, *, /, %, &, |, ^, <<, >> |
可以重载这些二进制运算符。 |
==, !=, <, >, <=, >= |
比较运算符可以重载(但请参见本表后面的说明)。 |
&&, || |
条件逻辑运算符不能重载,但可使用能够重载的 & 和 | 进行计算。 |
[] |
不能重载数组索引运算符,但可定义索引器。 |
() |
不能重载转换运算符,但可定义新的转换运算符(请参见 explicit 和 implicit)。 |
+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>= |
赋值运算符不能重载,但 += 可使用 + 计算,等等。 |
=、.、?:、->、new、is、sizeof 和 typeof |
不能重载这些运算符。 |
- 语法
public static Complex operator +(Complex c1, Complex c2) |
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c#
, web
, 搜索
, 运算符
, using
表达式
,以便于您获取更多的相关知识。