您好,現(xiàn)在冰冰來(lái)為大家解答以上的問(wèn)題。select case能用通配符嗎,select case用法相信很多小伙伴還不知道,現(xiàn)在讓我們一起來(lái)看看吧!
1、語(yǔ)法Select Case <指示變量或表達(dá)式><默認(rèn)語(yǔ)句組,以上語(yǔ)句組都因情形不符合實(shí)際時(shí)執(zhí)行>End Select其中,表述情形的關(guān)鍵字,有IS和TO,多個(gè)情形要并列在一起時(shí),使用逗號(hào)(英文)連接。
2、當(dāng)省略Case Else語(yǔ)句并且語(yǔ)句組都因情形不符合實(shí)際時(shí),語(yǔ)句的執(zhí)行,會(huì)直接到達(dá)End Select。
3、如果在執(zhí)行語(yǔ)句的時(shí)候,有需要跳過(guò)沒(méi)有必要再執(zhí)行的語(yǔ)句而直接結(jié)束Select Case的情況時(shí),請(qǐng)使用exit select。
4、注意在“<指示變量或表達(dá)式>”不是True或False關(guān)鍵字時(shí),邏輯運(yùn)算(And、Or、Not)會(huì)沒(méi)有意義。
5、因?yàn)檫壿嬤\(yùn)算的結(jié)果是True或False,不是表述具體情況的值或者范圍。
6、需要比較大小時(shí),請(qǐng)使用IS、To關(guān)鍵字。
7、以上為了給出一個(gè)能夠通用的語(yǔ)法而如此表述。
8、在“<指示變量或表達(dá)式>”是True或False關(guān)鍵字時(shí),Is、To關(guān)鍵字沒(méi)有意義。
9、以上兩種情況,切記不要搞混。
10、嵌套各語(yǔ)句組中也可以寫(xiě)入完整的Select Case語(yǔ)句,像For循環(huán)中嵌套一個(gè)二級(jí)循環(huán)一樣。
11、別誤會(huì),Select Case不是循環(huán)語(yǔ)句,是條件選擇語(yǔ)句,與IF...ELSEIF...ELSEIF...END IF類似。
12、基本用法Private Sub main()Select Case InputBox("請(qǐng)輸入你希望的天氣,從晴天、多云、陰天、陣雨、小雨、小雪、冰雹中選一個(gè)填入。
13、","請(qǐng)輸入你希望的天氣","晴天")Case"晴天"MsgBox"哇哦!你喜歡的是晴天啊,祝你天天好心“晴”~!"Case"多云"MsgBox"喜歡多云的天氣,是因?yàn)楸容^怕紫外線嗎?"Case"陰天"MsgBox"為什么喜歡陰天呢?真令人好奇啊~!"Case"陣雨"MsgBox"為什么喜歡陣雨天呢?真令人好奇啊~!"Case"小雨"MsgBox"為什么喜歡小雨天呢?真令人好奇啊~!"Case"小雪"MsgBox"為什么喜歡小雪天呢?真令人好奇啊~!"Case"冰雹"MsgBox"為什么喜歡冰雹天呢?真令人好奇啊~!"Case ElseMsgBox"不可以醬紫!只能從我給出的幾種中挑選一個(gè)填入!"End SelectEnd Sub使用關(guān)鍵字ISPrivate Sub main()Select Case Day(Now)Case Is <= 10MsgBox"目前是本月上旬!"Case Is > 20MsgBox"目前是本月下旬!"Case ElseMsgBox"目前是本月中旬!"End SelectEnd Sub<以上代碼在VB6.0測(cè)試通過(guò)>使用關(guān)鍵字TOPrivate Sub main()Select Case Weekday(Now)Case 1, 7MsgBox"今天是周末!"Case 2 To 6MsgBox"今天不是周末!"End SelectEnd Sub<以上代碼在VB6.0測(cè)試通過(guò)>關(guān)鍵字IS和TO可以根據(jù)需要,在同一條情形中一起使用,例如Case Is<=5,8 to 10,Is>20不過(guò)要注意的是,TO表示的區(qū)間,是閉區(qū)間,不適用于開(kāi)區(qū)間(或半閉半開(kāi)區(qū)間)。
14、如果一定要用select Case來(lái)確定數(shù)值在哪個(gè)區(qū)間內(nèi),可以這么做:Private Sub main()On Error GoTo errDim num As Singlenum = InputBox("請(qǐng)輸入!")Select Case numCase Is <= 1MsgBox"這個(gè)數(shù)不大于1"Case Is < 3MsgBox"這個(gè)數(shù)在1和3之間的開(kāi)區(qū)間內(nèi)"Case Is < 5MsgBox"這個(gè)數(shù)在3和5之間的半閉半開(kāi)區(qū)間內(nèi)"Case Is <= 7MsgBox"這個(gè)數(shù)在5和7之間的閉區(qū)間內(nèi)"Case Is > 7MsgBox"這個(gè)數(shù)大于7"End SelectExit Suberr:MsgBox"這個(gè)不是可比較的數(shù)字"End Sub此時(shí),各Case不能隨便對(duì)換順序。
15、雖然這個(gè)可以達(dá)到我們想要的效果,卻因?yàn)椴粔驀?yán)謹(jǐn),讓我憂心忡忡。
16、那么什么是最嚴(yán)謹(jǐn)?shù)哪兀空?qǐng)看高級(jí)用法。
17、高級(jí)用法語(yǔ)法(這里只是為了更好的理解,稍稍變一下表述,不改變實(shí)意。
18、)Select Case trueCase <邏輯運(yùn)算表達(dá)式1><語(yǔ)句組1>Case<邏輯運(yùn)算表達(dá)式2><語(yǔ)句組2>....Case<邏輯運(yùn)算表達(dá)式n><語(yǔ)句組n>Case Else<默認(rèn)語(yǔ)句組,當(dāng)以上任何邏輯運(yùn)算都為False時(shí)執(zhí)行>End Select在此語(yǔ)法下,Is、To關(guān)鍵字沒(méi)有意義,Is的值為true(Is是變量嗎?這個(gè)問(wèn)題真的好讓人回味啊)只要邏輯運(yùn)算表達(dá)式的運(yùn)算結(jié)果為true,就執(zhí)行該Case下的語(yǔ)句組。
19、那么,上面的例子就這么改。
20、Private Sub main()On Error GoTo errDim num As Singlenum = InputBox("請(qǐng)輸入!")Select Case TrueCase num >= 5 And num <= 7MsgBox"這個(gè)數(shù)在5和7之間的閉區(qū)間內(nèi)"Case num < 3 And num > 1MsgBox"這個(gè)數(shù)在1和3之間的開(kāi)區(qū)間內(nèi)"Case num > 7MsgBox"這個(gè)數(shù)大于7"Case num < 5 And num >= 3MsgBox"這個(gè)數(shù)在3和5之間的半閉半開(kāi)區(qū)間內(nèi)"End SelectExit Suberr:MsgBox"這個(gè)不是可比較的數(shù)字"End Sub可以看到,順序被我隨意變動(dòng)了,測(cè)試也通過(guò)了。
21、那么,愛(ài)琢磨的我,又發(fā)現(xiàn)一個(gè)問(wèn)題:Select Case True可以改成Select Case False嗎?答案是,可以。
22、這里就不作示例了,只給出語(yǔ)法Select Case FalseCase <邏輯運(yùn)算表達(dá)式1><語(yǔ)句組1>Case<邏輯運(yùn)算表達(dá)式2><語(yǔ)句組2>....Case<邏輯運(yùn)算表達(dá)式n><語(yǔ)句組n>Case Else<默認(rèn)語(yǔ)句組,當(dāng)以上任何邏輯運(yùn)算都為true時(shí)執(zhí)行>End Select只要邏輯運(yùn)算表達(dá)式的運(yùn)算結(jié)果為False,就執(zhí)行該Case下的語(yǔ)句組。
本文就為大家分享到這里,希望小伙伴們會(huì)喜歡。