do-while 迴圈的特色在於條件判斷位於迴圈末尾,確保迴圈主體至少執行一次。語法如下:
do
statement
while (booleanExpression);
若主體包含多行敘述,務必用大括號包裹成區塊。
int i = 0;
do
{
Console.WriteLine(i);
i++;
}
while (i != 10);
範例:使用 while(true) 搭配 break/continue 實作相同邏輯:
int i = 0;
while (true)
{
Console.WriteLine("continue " + i);
i++;
if (i != 10)
continue;
else
break;
}
最佳實務: 許多編碼規範建議謹慎使用 continue,因為它可能導致程式碼難以閱讀與維護。
開啟 DoStatement 專案,showSteps_Click 方法展示如何用 do-while 將整數轉為字串:
int amount = System.Int32.Parse(number.Text);
steps.Text = "";
string current = "";
do
{
int digitCode = '0' + amount % 10;
char digit = Convert.ToChar(digitCode);
current = digit + current;
steps.Text += current + "\r\n";
amount /= 10;
}
while (amount != 0);
核心邏輯: 利用取模運算子 % 取得個位數,透過字元編碼轉換為字元,再疊加至字串前端。迴圈至少執行一次,故輸入 0 也能正確處理。
使用 Visual Studio 2005 除錯器,設定中斷點並開啟「區域變數」視窗,逐行執行(F11)觀察 amount、digitCode、digit、current 變數變化,深入理解迴圈運作細節。