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

C# while 迴圈入門教學:語法、流程圖、巢狀迴圈與實務範例

     編輯:關於C#

while 迴圈核心概念

while (condition) { body }:當條件為真持續執行本體。條件為布林運算式,本體可為單一陳述式或區塊 { ... }。屬於先測試後執行迴圈,可能零次執行。

流程圖

     ┌─────────┐
     │ condition │──False──→ 結束
     └────┬────┘
          │ True
          ▼
     ┌─────────┐
     │  body   │
     └────┬────┘
          │
          └──────┘

基礎範例

// 1 到 10 累加
int sum = 0, i = 1;
while (i <= 10) {
    sum += i;
    i++;
}
Console.WriteLine(sum); // 55

// 讀取輸入直到 "exit"
string line;
while ((line = Console.ReadLine()) != "exit") {
    Console.WriteLine($"Echo: {line}");
}

// 巢狀迴圈:九九乘法表
int row = 1;
while (row <= 9) {
    int col = 1;
    while (col <= row) {
        Console.Write($"{col}x{row}={col*row}\t");
        col++;
    }
    Console.WriteLine();
    row++;
}

常見錯誤與除錯

錯誤類型原因修正
無限迴圈條件永遠為真、遞增邏輯錯誤檢查條件變數更新、加入安全計數器
離一錯誤<= vs <、起始值偏移邊界測試:0, 1, max, max+1
變數未初始化條件使用未賦值變數宣告時指派初值

while 迴圈進階模式

// 模式 1:旗標控制
bool running = true;
while (running) {
    // ...
    if (shouldStop) running = false;
}

// 模式 2:TryParse 迴圈
int number;
while (!int.TryParse(Console.ReadLine(), out number)) {
    Console.WriteLine("格式錯誤,請重新輸入整數:");
}

// 模式 3:資料流讀取
using (var reader = new StreamReader("data.txt")) {
    string line;
    while ((line = reader.ReadLine()) != null) {
        ProcessLine(line);
    }
}

// 模式 4:非同步輪詢 (配合 Task.Delay)
while (!cancellationToken.IsCancellationRequested) {
    await DoWorkAsync();
    await Task.Delay(1000, cancellationToken);
}

while流程圖1
while流程圖2
範例1
範例2
範例3

本文對應《叩響 C# 之門》第 4.5.1 節 while 迴圈教學內容

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved