程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> VC#2005快速入門之使用do語句

VC#2005快速入門之使用do語句

編輯:C#基礎知識

  while和for語句都在循環開始的時候測試它們的布爾表達式。這意味著假如在首次測試時,布爾表達式就求值為false,那麼循環主體一次都不會運行。do語句則不同,它的布爾表達式是在每次重復之後求值的,所以主體至少會執行一次。

  do語句的語法如下(不要忘記最後的分號):

  

do
statement
while (booleanExpression);

  如果循環主體由多個語句構成,請使用一個語句塊。下面是在控制台上輸出0~9的那個例子的do語句版本:

  

int i = 0;
do
{
 Console.WriteLine(i);
 i++;
}
while (i != 10);

break和continue語句
  在前文我們曾用break語句來跳出switch語句。除此之外,還可以使用break語句來跳出一個循環。執行break之後,系統會立即終止循環,並從循環之後的第一個語句繼續執行。在這種情況下,循環的“更新”和“繼續”條件都不會重新判斷。
  與此相反,continue語句會造成當前循環結束,並立即開始下一次循環(在對布爾表達式進行重新求值之後)。下面是在控制台上輸出0~9的那個例子的另一個版本,這一次將使用break和continue語句:
int i = 0;
while (true)
{
 Console.WriteLine("continue " + i);
 i++;
 if (i != 10)
  continue;
 else
  break;
}
  這段代碼看起來讓人非常難受。許多編程指南都建議小心使用continue,或者根本不要使用它,否則很容易造成難以理解的代碼。continue的行為也令人捉摸不定。例如,假如在一個for語句中執行continue,那麼會在運行了for語句的“更新”部分之後,才開始下一次循環。

  在下面的例子中,我們將寫一個do語句來將一個數字轉換成字符串形式。

  ·使用do語句

  1. 在Visual Studio 2005中打開DoStatement項目,它位於My Documents文件夾下的\Microsoft Press\Visual CSharp Step by Step\Chapter 5\DoStatement子文件夾中。

  選擇“調試”|“開始執行(不調試)”。

  Visual Studio 2005將開始生成並運行Windows應用程序。

  應用程序將顯示一個窗體,其中包含兩個文本框和一個Show Steps(顯示步驟)按鈕。在上方的文本框中輸入一個正數(我們使用的算法還不支持負數),然後單擊Show Steps按鈕,下方的文本框就會顯示創建這個數字的字符串形式所需的步驟。

  注意 這個簡單的例子展示了如何使用do循環將數字轉換成字符串。但要注意一點,.NET Framework提供了Convert.ToString方法來做同樣的事情。在自己的應用程序中執行類似任務時,應該使用該方法。

  2. 作為一個例子,請在上方的文本框中輸入2693,然後單擊Show Steps按鈕。

  在下方的文本框中,將顯示創建2693的字符串形式所經歷的步驟,如圖2所示。

  圖2 單擊Show Steps按鈕之後將顯示具體步驟

  3. 關閉窗口,返回Visual Studio 2005編程環境。

  4. 在“代碼和文本編輯器”窗口中顯示Form1.cs的代碼。

  找到showSteps_Click方法。該方法會在用戶單擊了Show Steps按鈕之後開始運行。

  5. 該方法包含以下語句:

  

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);

  注意 \r代表一個回車符。在多行文本框控件中輸出文本時,需要同時輸出一個回車符和一個換行符,才能跳到下一行,並使光標定位到行首。否則,以後輸出的文本將出現在同一行上。

  第一個語句使用System.Int32類的Parse方法,將number文本框的Text屬性中存儲的字符串值轉換成int值:

  int amount = System.Int32.Parse(number.Text);

  第二個語句清除下方的文本框(稱為steps)中顯示的文本,這一次的做法是將Text屬性設為一個空字符串:

  steps.Text = "";

  第三個語句聲明一個名為current的字符串變量,並把它初始化為空字符串:

  string current = “";

  這個方法真正的工作是由do語句來執行的,它從第4個語句開始:

  • 首頁
  • 上一頁
  • 1
  • 2
  • 下一頁
  • 尾頁
  • 共2頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved