條件判斷式

如果運算式為true則執行敘述區塊
if (運算式){
    敘述區塊
}

如果運算式為true則執行敘述區塊一,false則執行敘述區塊二
if (運算式){
    敘述區塊一
}
else{
    敘述區塊二
}

如果運算式一為真則執行敘述區塊一
否則如果運算式二為真則執行敘述區塊二
否則執行敘述區塊三
if (運算式一){
    敘述區塊一
}
else if (運算式二){
    敘述區塊二
}
else{
    敘述區塊三
}

三元運算子

功能同兩個決策點的條件判斷式,只是語法較為簡潔
如果運算式一為true,則x=的值為運算式二的結果,否則x的值為運算式三的結果
x = (運算式一) ? (運算式二) : (運算式三)
int x = int.TryParse("ooxx") ? x : 0;
int x = int.TryParse("123") ? x : 0;

多決策點判斷

如果有多個決策點,則可用switch...case語法來表示較為清楚簡潔
switch的運算式只能整數或字串,case的常數只能整數或字串
由上而下判斷,符合常數即執行該敘述區塊,如敘述區塊最後沒有break;則會繼續往下執行,default用來處理都不符合常數的狀況,可省略
switch (運算式)
{
    case 常數一:
        敘述區塊一;
        break;
    case 常數二:
        敘述區塊二;
        break;
    case 常數三:
        敘述區塊三;
        break;
    default:
        敘述區塊;
}

迴圈控制 - for迴圈

只要選圈運算式的結果為真,則會重覆進行下一次的迴圈敘述
碰到break;會提早離開迴圈區塊
碰到continue;會略過以下的敘述,進行下一次的迴圈敘述

for ([計數變數 = 初始值]; [迴圈運算式]; [計數變量])
{
    [敘述區塊;]
    [break;]
    [continue;]
}

for(int i = 0;i < 0; i++)
{
    Console.WriteLine(i);
}

迴圈控制 - while / do 迴圈

適合用在不確定迴圈重覆次數的時後
碰到break;會提早離開迴圈區塊
碰到continue;會略過以下的敘述,進行下一次的迴圈敘述
先判斷再執行敘述區塊
while (運算式)
{
    敘述區塊;
}

先執行一次敘述區塊後再執行判斷
do
{
    敘述區塊;
} while (運算式);

Jump Statements

keyword meaning
break 以下不執行,直接跳離流程
continue 以下不執行,繼續下一個流程
goto 跳到指定Label
return 直接回傳,以下不執行
throw 直接丟出例外,以下不執行