條件判斷是程式邏輯的基石。ASP.NET(VB.NET)提供 `If...Then...Else` 單層判斷、巢狀 `If` 處理複雜多層條件,以及 `Select Case` 簡化多值比對。本文系統整理語法結構、執行流程與最佳實踐,助您寫出清晰、可維護的判斷邏輯。
If 條件式1 Then
If 條件式2 Then
語句塊1
Else
語句塊1-2
End If
其他語句
Else
語句塊2
End If
If isMember Then
If memberLevel = "VIP" Then
discount = 0.8
ElseIf memberLevel = "Gold" Then
discount = 0.9
Else
discount = 0.95
End If
Else
discount = 1.0
End If
Select Case 運算式/變數
Case 條件值1
語句塊1
Case 條件值2
語句塊2
Case 條件值3
語句塊3
...
Case Else
語句塊N+1
End Select
Select Case statusCode
Case 200, 201, 204
result = "成功"
Case 301, 302, 304
result = "重導向"
Case 400 To 499
result = "用戶端錯誤"
Case 500 To 599
result = "伺服器錯誤"
Case Else
result = "未知狀態"
End Select
| 情境 | 建議 | 理由 |
|---|---|---|
| 單一布林條件、兩條路徑 | 單層 If | 最簡潔 |
| 同一變數比對多個離散值 | Select Case | 結構清晰、效能略佳 |
| 複雜複合條件(多變數、範圍、邏輯運算) | 巢狀 If / ElseIf | Select Case 不支援複合條件 |
| 需短路求值優化效能 | If / ElseIf | Select Case 需完整評估運算式 |
無論是巢狀 `If` 還是 `Select Case`,核心目標都是**讓業務邏輯清晰可讀、易於測試與維護**。選擇適合的工具,配合良好的命名與結構,才是寫出高品質代碼的關鍵。