C#运算符分类:
- 算数运算符;
- 关系运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 其他运算符
算数运算符:
加(+)减(-)乘(*)除(/)取余(%)
自增(++):c=++a:先将a自增运算,再赋值给c;c=a++:先将a赋值给c,再进行自增运算;
自减(--):c=--a:先将a自减运算,再赋值给c;c=a--:先将a赋值给c,再进行自减运算;
关系运算符:
==:判断两个值是否相等,相等为true;
!=: 判断两个值是否不相等,不相等为true;
<: 判断左边操作数是否小于右边操作数,条件成立则为true;
>: 判断左边操作数是否大于右边操作数,条件成立则为true;
<=:判断左边操作数是否小于或等于右边操作数,条件成立则为true;
>=:判断左边操作数是否大于或等于右边操作数,条件成立则为true;
逻辑运算符:
(设A=true,B=false)
&&:逻辑与,两个操作数都非零,则为true;A&&B为假;
||:逻辑或,两个操作数有一个为非零,则为true;A||B为真;
!:逻辑非,用来逆转操作数的逻辑状态;!(A&&B)为真;
位运算符:(按照二进制运算)
(A=60,0011 1100;B=13,0000 1101)
&:A&B=0011 1101;
|:A|B=0011 0001;
^:A^B=0000 1100;
<<: A<<2 : 1111 0000;
>>: A>>2 : 0000 1111;
~ | 按位取反运算符是一元运算符,具有"翻转"位效果,即0变成1,1变成0,包括符号位。 | (~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码形式。 |
赋值运算符:
= 普通运算符
+= 加且赋值运算符
-= 减且赋值运算符
*= 乘且赋值运算符
/= 除且赋值运算符
%= 取余且赋值运算符
<<= 左移且赋值运算符
>>= 右移且赋值运算符
&= 按位与且赋值运算符
|= 按位或且赋值运算符
^= 按位异或且赋值运算符
其他运算符:
sizeof() | 返回数据类型的大小。 | sizeof(int),将返回 4. |
typeof() | 返回 class 的类型。 | typeof(StreamReader); |
& | 返回变量的地址。 | &a; 将得到变量的实际地址。 |
* | 变量的指针。 | *a; 将指向一个变量。 |
? : | 条件表达式 | 如果条件为真 ? 则为 X : 否则为 Y |
is | 判断对象是否为某一类型。 | If( Ford is Car) // 检查 Ford 是否是 Car 类的一个对象。 |
as | 强制转换,即使转换失败也不会抛出异常。 | Object obj = new StringReader("Hello"); StringReader r = obj as StringReader; |