何時應當用 Select Case 來取代 IF Then ElseIf

當我們想要有條件地執行一或多個陳述式時,很直覺地會使用 If 或 Select 判斷結構,但到底該使用那一種呢?以下我們就來看看幾種情況:

     If a * b = 5 Then
          a = a + 1
     ElseIf a * b > 5 Then
          a = a + 2
     Else
          a = a + 3
     End If
     Select Case a * b
          Case Is = 5
                    a = a + 1
          Case Is > 5
                    a = a + 2
          Case Else
                    a = a + 3
     End Select

由以上的比較可知,Select Case 結構只要計算上端運算式一次。而 If...Then...Else 結構會計算每個 ElseIf 陳述式中的運算式。所以只有在 If 陳述式和每個 ElseIf 陳述式都計算相同運算式時,才能用 Select Case 結構取代 If...Then...Else 結構。譬如以下的 If 判斷式就無法用 Select Case 取代:

     If a + b = 5 Then
          a = a + 1
     ElseIf a / b > 5 Then
          a = a + 2
     Else
          a = a + 3
     End If

那用 Select Case 取代 If 有什麼好處呢?我們不討論哪一個方法執行效率較快 (Select Case 好像比較快),很明顯的,當一個運算式有很多的選擇條件要執行時,使用 Select Case 使得程式碼更加易讀。

 


[ 上一個 | 首頁 | 重要觀念 | 下一個 ]

This page was written by Jaric on Jan. 24 , 1998. All rights reserved.

Total pageview since 4/6/1999.