※ 引述《Redfireant (紅火蟻)》之銘言:
: 請問Select Case和If...Then...ElseIf有什麼不一樣
: 我看書上感覺二個是一樣的東西
: Select Case是不是可以完全被If...Then...ElseIf取代
: Select Case如果可以被取代或完全不用
: 是不是表示Choose也可以完全不用
: VB內Goto是不是可以完全不用
: 只要用loop或其他條件判斷的指令
: 謝謝
簡單的說,IF常被用在"不同變數"多條件的判斷...
EX:
if A>20 and B >3 and C>30 then
.....
end if
而Select常用在單一變數的多條件判斷..
Select case A
case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber
end select
向上面的Select 要改成IF就繁瑣許多了
EX: if (A> 0 and A<5) or (A>6.......
而choose只能用在數字轉成文字,
實際的範例如數字轉成國字
choose(index,"一","二","三"....)
以下是更詳盡的介紹,摘路自MSDN
----------------------------
Choose(index, choice-1[, choice-2, ... [, choice-n]])
Choose 函數的語法具有以下幾個單元:
單元 描述
index 必要引數,此為數值運算式或欄位,它的運算結果是一個數值,且介在 1 和可選擇
的項目數之間。
choice 必要引數,此為 Variant 運算式,包含一個以上的選擇項目。
請注意
Choose 會根據 index 的值來傳回串列中的第幾個選擇項。如果 index 是 1 ,則 Choose
會傳回串列中的第 1 個選擇項。如果 index 是 2,則 Choose 會傳回串列中的第 2 個
選擇項,以此類推。
您可以使用 Choose 來查閱一個串列中的項目。例如,如果 index 所指定的值為 3 ,而
choice-1 = "one" 、 choice-2 = "two" 、且 choice-3 = "three" ,那麼 Choose 將傳
回 "three" 。當 index 可代表一群選項中的值時,則這項功能將會特別有用。
Choose 會計算串列中的每個選擇項,即使它只傳回一個選項值。所以您應該注意這項副作
用,例如,當您在每個選擇項中使用了 MsgBox 函數作為運算式的一部分,那麼每計算一
個選擇項,就會顯示一次訊息方塊。
如果 index 小於 1,或大於可選擇的項目個數時,則 Choose 函數會傳回一個 Null。
如果 index 不是整數,則會先換算為與其最接近的整數。
----------------------------------
GOTO是通常不用的....
結論:每個指令被設計出來,都是有他的用意所在...
IF用在多變數
SELECT用在一個變數
CHOOSE則是數字轉文字在用的....
這樣瞭解嗎?看用途來選擇指令吧,但是其實都是可以用的就是了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.225.129.236