首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 迴圈控制陳述式完整教學:while、do-while、for、foreach

     編輯:關於C語言

1. while 迴圈 - 先判斷後執行

int myInt = 0;
while (myInt < 10)
{
    Console.Write("{0} ", myInt);
    myInt++;
}
Console.WriteLine();
// 輸出: 0 1 2 3 4 5 6 7 8 9

布林運算式為 true 才執行區塊;若初始為 false 則完全不執行。

2. do-while 迴圈 - 至少執行一次

string myChoice;
do
{
    Console.WriteLine("My Address Book\n");
    Console.WriteLine("A - Add New Address");
    Console.WriteLine("D - Delete Address");
    Console.WriteLine("M - Modify Address");
    Console.WriteLine("V - View Addresses");
    Console.WriteLine("Q - Quit\n");
    Console.Write("Choice (A,D,M,V,or Q): ");
    myChoice = Console.ReadLine();

    switch (myChoice)
    {
        case "A": case "a": Console.WriteLine("Add address."); break;
        case "D": case "d": Console.WriteLine("Delete address."); break;
        case "M": case "m": Console.WriteLine("Modify address."); break;
        case "V": case "v": Console.WriteLine("View list."); break;
        case "Q": case "q": Console.WriteLine("Bye."); break;
        default: Console.WriteLine("{0} is not valid", myChoice); break;
    }
    Console.Write("Press any key to continue...");
    Console.ReadLine();
    Console.WriteLine();
} while (myChoice != "Q" && myChoice != "q");

條件在區塊結尾判斷,保證選單至少顯示一次。

3. for 迴圈 - 已知迴圈次數的最佳選擇

for (int i = 0; i < 20; i++)
{
    if (i == 10) break;           // 跳出迴圈
    if (i % 2 == 0) continue;     // 跳過本次剩餘敘述,進入下一次迭代
    Console.Write("{0} ", i);
}
Console.WriteLine();
// 輸出: 1 3 5 7 9

三段式結構:(初始化; 條件; 迭代後動作)。break 離開迴圈,continue 直接執行迭代後動作再判斷條件。

4. foreach 迴圈 - 遍歷集合/陣列唯讀

string[] names = { "Cheryl", "Joe", "Matt", "Robert" };
foreach (string person in names)
{
    Console.WriteLine("{0} ", person);
}

依序取出集合元素至唯讀變數 person,無法修改集合內容,語法最簡潔。

5. 迴圈選擇指南

情境建議迴圈理由
次數未知,依條件持續while先檢查條件
至少執行一次 (如選單)do-while後檢查條件
已知次數或計數器控制for三段式集中控制
遍歷陣列/集合唯讀foreach語法最簡潔,避免索引錯誤

6. 進階控制:break 與 continue

  • break:立即跳出最內層迴圈或 switch。
  • continue:跳過本次迴圈剩餘程式碼,直接執行迭代運算式 (for) 或條件判斷 (while/do-while)。
  • 巢狀迴圈中,僅影響最內層;若需跳出外層,可用 goto 標籤或重構為方法配合 return。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved