C#入门笔记3 表达式及运算符2
关系运算符,也称布尔比较运算符
注:var1为bool类型,var2与var3可以是其它类型。【数据类型看下一节】
运算符 | 类别 | 示例表达式 | 结果说明 |
== | 二元 | var1=var2==var3 | 如果var2等于var3,var1值为true,否则为false |
!= | 二元 | var1=var2!=var3 | 如果var2不等于var3,var值为false,否则为true |
< | 二元 | var1=var2<var3 | 如果var2小于var3,var1值为true,否则为false |
> | 二元 | var1=var2>var3 | 如果var2大于var3,var1值为true,否则为false |
<= | 二元 | var1=var2<=var3 | 如果var2小于等于var3,var1的值为true,否则为false |
>= | 二元 | var1=var2>=var3 | 如果var2大于等于var3,var1的值为true,否则为false |
! | 一元 | var1!var2 | 如果var2为false,var1的值为true,否则为false(逻辑非) |
& | 二元 | var1=var2&var3 | 如果var2与var3都为true,var1的值为true,否则为false(逻辑与) |
| | 二元 | var1=var2|var3 | 如果var2或var3其它一个为true(或者二个都为true),var1的值为true,否则为false(逻辑或) |
^ | 二元 | var1=var2^var3 | 如果var2或var3其它一个为true,var1的值为true,否则为false(逻辑异或) |
&& | 二元 | var1=var2&&var3 | 如果var2与var3都为true,var1的值为true,否则为false(逻辑与) |
|| | 二元 | var1=var2||var3 | 如果var2或var3其它一个为true(或者二个都为true),var1的值为true,否则为false(逻辑或) |
为什么有了:‘&’与‘&&’ 及 ‘|’与 ‘||’,功能都一样,为什么还需要?一个重要区别:'&&','||'性能比较好。使用 '&'及‘|’运算符,需要考虑var2与var3二边的操作数。使用'&&'运算符,如果第一个操作数为false,即不需要考虑第二个操作数的值,第二个操作数的值是什么,var1结果为:false。同样,'||'运算符返回true,如果第一个操作数为true,无需考虑第二个操作数的值。
布尔赋值运算符
运算符 | 类别 | 示例表达式 | 结果说明 |
&= | 二元 | var1&=var2 | var1的值为var1&var2的结果 |
|= | 二元 | var1|=var2 | var1的值为var1|var2的结果 |
^= | 二元 | var1^=var2 | var1的值var1^var2的结果 |
位移运算符
运算符 | 类别 | 示例表达式 | 结果 |
>> | 二元 | var1=var2>>var3 | 把var2的二进制值向右移动var3位,就得到var1的值 |
<< | 二元 | var1=var2<<var3 | 把var2的二进制值向左移动var3位,就得到var1的值 |
位移赋值运算符
运算符 | 类别 | 示例表达式 | 结果 |
>>= | 一元 | var1>>=var2 | 把var1的二进制值向右移动var2位,就得到:var1的新值 |
<<= | 一元 | var1<<=var2 | 把var1的二进制值向左移动var2位,就得到:var1的新值 |