可以在一個if語句中嵌套其他if語句。這樣一來,就可以將一系列布爾表達式鏈接起來,它們將依次測試,直到其中一個求值為true。在下例中,假如day值為0,則第一個測試求值為true,值"Sunday"將賦給dayName變量。假如day值不為0,則第一個測試失敗,控制將傳遞給else子句。該子句將運行第二個if語句,將day的值與1進行比較。注意,只有在第一個if測試為false的前提下,才會執行第二個if。類似地,只有在第一個和第二個if測試為false的前提下,才會執行第三個if。
if (day == 0)
dayName = "Sunday";
else if (day == 1)
dayName = "Monday";
else if (day == 2)
dayName = "Tuesday";
else if (day == 3)
dayName = "Wednesday";
else if (day == 4)
dayName = "Thursday";
else if (day == 5)
dayName = "Friday";
else if (day == 6)
dayName = "Saturday";
else
dayName = "unknown";
在下面的練習中,我們將寫一個方法,以便使用嵌套的if語句來比較兩個日期。
一、編寫if語句
1. 啟動Microsoft Visual Studio 2005。
2. 打開Selection項目,它位於My Documents文件夾下的\Microsoft Press\Visual CSharp Step by Step\Chapter 4\Selection子文件夾中。
3. 選擇“調試”|“開始執行(不調試)”。
Visual Studio 2005將生成並運行應用程序。窗體上顯示了兩個DateTimePicker控件,分別名為first和second(這種控件將顯示一個日歷,便於用戶通過單擊下拉按鈕來選擇一個日期)。兩個控件當前都設置成今天的日期。
4. 單擊Compare按鈕。
文本框中會顯示以下內容:
first == second : False
first != second : True
first < second : False
first <= second : False
first > second : True
first >= second : True
上述結果明顯有問題!如圖1所示布爾表達式first == second應該為true,因為first和second都被設置成今天的日期。事實上,在上述結果中,似乎只有操作符<和操作符>=的結果才是正確的!
圖1 文本框內的內容
5. 單擊Quit。
隨後將返回Visual Studio 2005編程環境。