C#当中大部分的流程控制语句与C/C++中的流程控制语句都是一样的。但也有新特性。
一:布尔逻辑
布尔变量bool在C++和C(得加上stdbool.h头文件)当中也有。但是在C#中的布尔运算符有一些新的变化。
1:处理布尔值的布尔运算符
运算符 | 类别 | 示例表达式 | 结果 |
! | 一元 | var1 = !var2 | 逻辑非 |
& | 二元 | var1 = var2 & var3 | 逻辑与 |
| | 二元 | var1 = var2 | var3 | 逻辑或 |
^ | 二元 | var1 = var2 ^ var3 | 逻辑异或 |
2:布尔条件运算
运算符 | 类别 | 示例表达式 | 结果 |
&& | 二元 | var1 = var2 && var3 | 逻辑与 |
|| | 二元 | var1 = var2 || var3 | 逻辑或 |
布尔条件运算符&&和||的运算结果与&和|运算结果是完全相同的,但得到结果的方式有一个重要区别:其性能较好。两者都是检查第一个操作数(表中的var2)的值,如果已经能够判断结果,就根本不处理第二个操作数。
3:布尔赋值运算符
运算符 | 类别 | 示例表达式 | 结果 |
&= | Binary | var1 &= var2 | var1 = var1 & var2 |
|= | Binary | var1 |= var2 | var1 = var1 | var2 |
^= | Binary | var1 ^= var2 | var1 = var1 ^ var2 |
二:按位运算符
按位与运算符:&
按位或运算符:|
按位异或运算符:
按位取反运算符:~
三:C#中运算符的优先级(优先级从上到下依次是由高到低)
++(用作前缀), --(用作后缀),(),+,-(一元),!,~ |
*,/,% |
+,- |
<<, >> |
==,!= |
& |
^ |
| |
&& |
|| |
=,*=,/=,+=,-=,<<=,>>=,&=,^=,|= |
++(用作后缀),--(用作后缀) |
四:基本流程控制语句:goto if switch do循环 while循环 for循环 break continue return (与C/C++ 中的内容类似)