C# Switch 語(yǔ)句
使用 switch
語(yǔ)句選擇要執(zhí)行的多個(gè)代碼塊中的一個(gè)。
示例:
switch(expression)
{
case x:
// 代碼塊
break;
case y:
// 代碼塊
break;
default:
// 代碼塊
break;
}
它的工作方式如下:
1. 評(píng)估 switch
表達(dá)式一次
2. 將表達(dá)式的值與每個(gè) case
的值進(jìn)行比較
3. 如果有匹配,執(zhí)行關(guān)聯(lián)的代碼塊
以下示例使用星期幾的數(shù)字來(lái)計(jì)算星期幾的名稱:
示例
int day = 4;
switch (day)
{
case 1:
Console.WriteLine("星期一");
break;
case 2:
Console.WriteLine("星期二");
break;
case 3:
Console.WriteLine("星期三");
break;
case 4:
Console.WriteLine("星期四");
break;
case 5:
Console.WriteLine("星期五");
break;
case 6:
Console.WriteLine("星期六");
break;
case 7:
Console.WriteLine("星期日");
break;
}
// 輸出 "星期四"(第 4 天)
break
關(guān)鍵字
當(dāng) C# 遇到 break
關(guān)鍵字時(shí),它會(huì)跳出 switch
塊。
這將停止執(zhí)行更多 switch
塊內(nèi)部的代碼和 case
測(cè)試。
當(dāng)找到匹配并完成任務(wù)時(shí),是時(shí)候休息一下了。不需要進(jìn)行更多測(cè)試。
break
可以節(jié)省大量執(zhí)行時(shí)間,因?yàn)樗昂雎浴绷?nbsp;switch
塊中其余代碼的執(zhí)行。
default
關(guān)鍵字
default
關(guān)鍵字是可選的,如果沒(méi)有 case
匹配,則指定一些代碼運(yùn)行:
示例
int day = 4;
switch (day)
{
case 6:
Console.WriteLine("今天是星期六。");
break;
case 7:
Console.WriteLine("今天是星期日。");
break;
default:
Console.WriteLine("期待周末。");
break;
}
// 輸出 "期待周末。"
C# While Loop
循環(huán)
循環(huán)可以執(zhí)行一段代碼,只要滿足指定的條件。
循環(huán)很方便,因?yàn)樗鼈児?jié)省時(shí)間、減少錯(cuò)誤,并使代碼更易讀。
C# While 循環(huán)
while
循環(huán)會(huì)在指定條件為 True
的情況下循環(huán)執(zhí)行一段代碼塊:
示例:
while (condition)
{
// 要執(zhí)行的代碼塊
}
在下面的示例中,只要變量(i
)小于 5
,循環(huán)中的代碼將一遍又一遍地運(yùn)行:
示例
int i = 0;
while (i < 5)
{
Console.WriteLine(i);
i++;
}
注意:不要忘記增加條件中使用的變量,否則循環(huán)永遠(yuǎn)不會(huì)結(jié)束!
Do/While 循環(huán)
do/while
循環(huán)是 while
循環(huán)的變體。這個(gè)循環(huán)會(huì)在檢查條件是否為真之前執(zhí)行一次代碼塊,然后只要條件為真就重復(fù)循環(huán)。
語(yǔ)法
do
{
// 要執(zhí)行的代碼塊
}
while (condition);
下面的示例使用了 do/while
循環(huán)。即使條件為 false
,循環(huán)也會(huì)至少執(zhí)行一次,因?yàn)樵跍y(cè)試條件之前執(zhí)行代碼塊:
示例
int i = 0;
do
{
Console.WriteLine(i);
i++;
}
while (i < 5);
不要忘記增加條件中使用的變量,否則循環(huán)永遠(yuǎn)不會(huì)結(jié)束!
C# For Loop
C# For 循環(huán)
當(dāng)你確切地知道要循環(huán)執(zhí)行一段代碼多少次時(shí),使用 for
循環(huán)而不是 while
循環(huán):
示例:
for (statement 1; statement 2; statement 3)
{
// 要執(zhí)行的代碼塊
}
Statement 1
在執(zhí)行代碼塊之前執(zhí)行(一次)。
Statement 2
定義執(zhí)行代碼塊的條件。
Statement 3
在執(zhí)行代碼塊后執(zhí)行(每次)。
下面的示例將打印出數(shù)字 0
到 4
:
示例
for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
}
示例說(shuō)明
• Statement 1
在循環(huán)開(kāi)始之前設(shè)置一個(gè)變量(int i = 0
)。
• Statement 2
定義循環(huán)運(yùn)行的條件(i
必須小于 5
)。如果條件為 true
,循環(huán)將重新開(kāi)始;如果條件為 false
,循環(huán)將結(jié)束。
• Statement 3
在循環(huán)中的代碼塊執(zhí)行后增加一個(gè)值(i++
)。
另一個(gè)示例
這個(gè)示例將只打印出在 0
到 10
之間的偶數(shù)值:
示例
for (int i = 0; i <= 10; i = i + 2)
{
Console.WriteLine(i);
}
嵌套循環(huán)
也可以將一個(gè)循環(huán)放在另一個(gè)循環(huán)內(nèi)部。這被稱為嵌套循環(huán)。
"內(nèi)部循環(huán)" 將在 "外部循環(huán)" 的每次迭代中執(zhí)行一次:
示例
// 外部循環(huán)
for (int i = 1; i <= 2; ++i)
{
Console.WriteLine("外部: " + i); // 執(zhí)行 2 次
// 內(nèi)部循環(huán)
for (int j = 1; j <= 3; j++)
{
Console.WriteLine(" 內(nèi)部: " + j); // 執(zhí)行 6 次(2 * 3)
}
}
C# For each 循環(huán)
還有一個(gè)專門(mén)用于遍歷數(shù)組元素的 foreach
循環(huán):
示例:
foreach (type variableName in arrayName)
{
// 要執(zhí)行的代碼塊
}
以下示例使用 foreach
循環(huán)輸出 cars
數(shù)組中的所有元素:
示例
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
foreach (string i in cars)
{
Console.WriteLine(i);
}
該文章在 2024/1/24 22:52:22 編輯過(guò)