溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

VB.NET中CASE語(yǔ)句怎么用

發(fā)布時(shí)間:2021-12-02 09:57:38 來(lái)源:億速云 閱讀:697 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下VB.NET中CASE語(yǔ)句怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!


如果要將同一個(gè)表達(dá)式與不同的值進(jìn)行比較,則可以用 Select...Case 語(yǔ)句來(lái)替換 If...Then...Else 語(yǔ)句。所不同的是, If 和 ElseIf 語(yǔ)句可在每個(gè)語(yǔ)句中計(jì)算不同的表達(dá)式,而 Select 語(yǔ)句對(duì)單個(gè)表達(dá)式只計(jì)算一次,然后將其和不同的值比較。

我們來(lái)看一個(gè)示例,代碼如下:

Function bonus(ByVal performance As Integer, _  ByVal salary As Decimal) As Decimal  Select performance  Case 1  Return salary * 0.1  Case 2  Return salary * 0.3  Case 3  Return salary * 0.7  Case 4  Return salary * 0.9  Case 5  Return salary * 1.2  End Select  End Function

這個(gè)計(jì)算員工獎(jiǎng)金 (bonus) 的函數(shù) (Function) 有兩個(gè)參數(shù),一個(gè)是 performance,即員工的表現(xiàn),另外一個(gè)是 salary,即員工的工資。員工的表現(xiàn)有 5 等,分別用 1,2,3,4,5 來(lái)表示。這個(gè)示例用了 Select...Case 語(yǔ)句,意思是當(dāng)員工 performance 為 1 時(shí),員工的獎(jiǎng)金是工資乘以 0.1;當(dāng)員工 performance 為 2 時(shí),員工的獎(jiǎng)金是工資乘以 0.3;當(dāng)員工 performance 為 3 時(shí),員工的獎(jiǎng)金是工資乘以 0.7;員工 performance 為 4 時(shí),員工的獎(jiǎng)金是工資乘以 0.9;員工 performance 為 5 時(shí),員工的獎(jiǎng)金是工資乘以 1.2。

通過(guò)這個(gè)示例,你可以了解 Select...Case 語(yǔ)句的結(jié)構(gòu)。如下:

Select ... (某個(gè)表達(dá)式,比如一個(gè)變量)  Case... (某個(gè)值)  ...(執(zhí)行代碼)  Case... (某個(gè)值)  ...執(zhí)行代碼  End Select


你可以使用任意數(shù)目的 VB.NET CASE語(yǔ)句增加要比較的值。

Visual Basic 按照在 Select...Case 結(jié)構(gòu)中出現(xiàn)的順序,將表達(dá)式的值和 Case 語(yǔ)句中的值進(jìn)行比較。如果發(fā)現(xiàn)有一個(gè) Case 的值匹配,就執(zhí)行該 Case 相應(yīng)的代碼,執(zhí)行完之后,不會(huì)再執(zhí)行其它VB.NET Case 語(yǔ)句,直接就到 End Select 了。

VB.NET CASE Else語(yǔ)句

如果表達(dá)式不符合 Case語(yǔ)句的任何值,可以用 Case Else 語(yǔ)句來(lái)應(yīng)付例外情況。比如上個(gè)示例中,除了 1 到 5 的數(shù)值外,假設(shè)員工 performance 為 0 或者大于 6 如何處理?

你可以改寫(xiě)程序,如下:

Function bonus(ByVal performance As Integer, _  ByVal salary As Decimal) As Decimal  Select performance  Case 1  Return salary * 0.1  Case 2  Return salary * 0.3  Case 3  Return salary * 0.7  Case 4  Return salary * 0.9  Case 5  Return salary * 1.2  Case Else  Return 0  End Select  End Function


注意改寫(xiě)的示例增加了兩行代碼:

Case Else  Return 0

這兩行代碼的意思是,如果 performance 不等于 Case語(yǔ)句的任何值時(shí),就執(zhí)行 Case Else 后的語(yǔ)句,返回 0 。

VB.NET Case語(yǔ)句可包含多個(gè)值和某個(gè)范圍的值

Function bonus(ByVal performance As Integer, _  ByVal salary As Decimal) As Decimal  Select performance  Case 1  Return salary * 0.1  Case 2,3  Return salary * 0.3  Case 3 To 7  Return salary * 0.7  Case 8 To 9  Return salary * 0.9  Case Is <= 15  Return salary * 1.2  Case Else  Return 0  End Select  End Function

每個(gè) Case 語(yǔ)句可以包含一個(gè)值,比如:

Case 1

也可以包含多個(gè)值,多個(gè)值用逗號(hào) (,) 分開(kāi),比如:

Case 2,3

也可以是某個(gè)范圍的值,比如:

Case 3 To 7

也可以是值和比較運(yùn)算符的組合,比如:

Case Is <= 15

看完了這篇文章,相信你對(duì)“VB.NET中CASE語(yǔ)句怎么用”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI