何時應當用 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 IfSelect 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.