決策型陳述式又稱作選取範圍的陳述式,目的在於使用一或多個指定條件,分支到不同的程式區段運行。
這類的相關關鍵字有以下幾個: if、else、switch、case。通常if、else是一組,switch、case是一組。接下來看看如何應用
- if、else
if 會根據運算式()的 Boolean 值識判斷要執行的陳述,成立便執行該區塊。 若有多個條件依照優先順序用else組合第二組 if 陳述,最後一組描述則可以不需 if 直接於 else 後方描述即可。bool sw = true; if (sw) { Console.WriteLine("true."); } else { Console.WriteLine("false."); }
int num ; if (num > 0) { Console.WriteLine("+"); } else if(num < 0) { Console.WriteLine("-"); } else Console.WriteLine("0");
※運算符號可以參考底部的說明
- switch、case (default、break)
switch 是一個選取範圍陳述式,可根據 case 比對運算式,從選項中選擇要執行的單一區段,每一個區段的結構用 case 參數: 開頭,以一個 break; 結束作為一組。預設狀態則可以用 default 定義。
public class Example { public static void Main() { int caseSwitch = 1; switch (caseSwitch) { case 1: Console.WriteLine("Case 1"); break; case 2: Console.WriteLine("Case 2"); break; default: Console.WriteLine("Default case"); break; } } }
- 運算子
C# 運算子- [] 運算子
方括號可用於陣列、索引子和屬性, 也可與指標搭配使用。 - () 運算子
用來指定運算的順序、指定轉換或型別轉換、叫用方法或委派。
- .運算子
用於成員存取。 點運算子可指定型別或命名空間的成員。
- :: 運算子
命名空間別名限定詞用來查閱識別碼。
- + 運算子
加法運算子。
- – 運算子
減法運算子。
- * 運算子
乘法運算子。
- / 運算子
除法運算子。
- % 運算子
餘數運算子。
- & 運算子
時評估兩個運算子,不管第一個運算子其值為何。
- | 運算子
針對其運算元進行邏輯 OR 運算,兩個運算元皆為 false 時,結果才會是 false。
- ^ 運算子
針對其運算元進行互斥-OR 運算。只有在剛好有一個運算元為 true 時,結果才會是 true。
- !運算子
為 bool 而定義的(反義、非),在其運算元為 false 時傳回 true, true 時傳回 false。
- ~ 運算子
會在運算元上執行反轉每個位元的位元補數運算。
- = 運算子
指派運算子將右方運算元的值儲存在左方運算元所表示的儲存位置、屬性或索引子。 運算元必須為同一型別 (或右方的運算元可以隱含轉換為左方運算元的型別)。
- < 運算子
小於的關係運算子。
- > 運算子
大於的關係運算子。
- ?: 運算子
一種條件運算子根據布林的值傳回兩個值的其中一個。
- ++ 運算子
遞增運算子的運算元遞增量為 1。
- — 運算子
遞減運算子其運算元遞減量為1。
- && 運算子
條件式 AND 運算子必須同時成立。
- || 運算子
條件運算子 OR 其一成立即成立。
- << 運算子
向左移位 (Left-Shift) 運算子會將第一個運算元向左移動,移動的位元數由第二個運算元所指定。
- >> 運算子
向右移位 (Right-Shift) 運算子會將第一個運算元向右移動,移動的位元數由第二個運算元所指定。
- == 運算子
比較運算子在運算元相等時傳回 true,反之傳回 flase。
- != 運算子
不等比較運算子在運算元相等時傳回 false,反之傳回 true。
- <= 運算子
小於或等於的關係運算子。
- >= 運算子
大於或等於的關係運算子。
- += 運算子
加法指派運算子。
- -= 運算子
減法指派運算子。
- *= 運算子
乘法指派運算子。
- /= 運算子
除法指派運算子。
- %= 運算子
餘數指派運算子。
- &= 運算子
AND 指派運算子。
- |= 運算子
OR 指派運算子。
- ^= 運算子
Exclusive-OR 指派運算子。
- <<= 運算子
左移 (Left Shift) 指派運算子。
- >>= 運算子
右移 (Right Shift) 指派運算子。
- -> 運算子
結合指標取值和成員存取。
- ??運算子
null 聯合運算子。 如果運算元不是 null,則會傳回左方運算元,否則傳回右方運算元。
- => 運算子
Lambda 運算子。分開右邊的 Lambda 主體和左邊的輸入變數。
- [] 運算子