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++ 中的內容類似)