[爆卦]VB6 Select Case是什麼?優點缺點精華區懶人包

為什麼這篇VB6 Select Case鄉民發文收入到精華區:因為在VB6 Select Case這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者A1pha ([αλφα])看板Visual_Basic標題[VB6 ] Select case...


Select Case 是提供好幾個條件,
符合條件的話,就執行敘述。

那麼假使有許多條件都符合的話,
他只會執行第一個符合的,
例如:
x=5
Select Case x
Case 0 to 8
? A
Case 4 to 10
? B
Case 7 to 15
? C
end select
他只會執行 「? A」這個敘述。


那麼有辦法讓他做到「? A」「? B」都執行嗎?
也就是說,並非找到一個CASE就跳出去,
而是所有的CASE都檢查並且執行所有符合的這樣?

--
與其去懊悔做不到的事,
倒不如去做能做的事。
就算它和結果無關,
還是能夠往前邁進。
http://www.wretch.cc/blog/AlphaWing/24383501
From xxxHoLic vol.9

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.9.132.97
yeeddt:土法煉鋼,條件分細一點。 01/15 16:37
Peruheru:依你的要求,你不如寫成巢狀的IF Else還比較容易寫 01/16 01:25
MOONRAKER:巢狀還不是一樣只會執行一個 01/16 01:29
Peruheru:但是巢狀的IF else可以包含前面通過的條件啊 01/16 01:29
MOONRAKER:寫成多個獨立的if就好了 這樣我執行不影響你執不執行 01/16 01:30
MOONRAKER:寫巢狀還要包含前面通過條件 治絲益棼 01/16 01:30
Peruheru:好吧,反正就是這種要求Select case反而不好用 01/16 01:33
Peruheru:不過C好像可以的樣子... 沒用過我也不太清楚 01/16 01:34
我不知道C能不能,好像可以?
他們的是
Switch(x)
{
Case 一號
敘述區
break;
Case 二號
敘述區
Break;
Case 三號
敘述區
Break;
}
一定要在每個Case後面加個Break;
不知道是不是break拿掉之後就能夠達成我前面說的那種QQ
太久以前學的C++了,記憶模糊@@
※ 編輯: A1pha 來自: 124.9.132.97 (01/16 09:57)
A1pha:其實我就是因為嫌寫巢狀麻煩,所以才想說有沒有偷懶的方法:P 01/16 09:59
yeeddt:以上面為例拿掉break之後,x為一號時會把後面全當作CASE 01/16 10:19
yeeddt:一號的敘述區 01/16 10:19
A1pha:好怪喔QQ 聽起來很BUG的規則== 01/16 20:59
unget:上面C的寫法 也是條件符合就跳掉啊? 01/17 11:14
fumizuki:vb的select是只有一條路徑 跟c語言的switch不一樣 01/17 20:24
yeeddt:我是用BCB測試出來的結果,其他的compiler就不清楚了 01/19 14:32

你可能也想看看

搜尋相關網站