日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
程序員必看VB.NETCASE語(yǔ)句拓展篇

有過(guò)開(kāi)發(fā)經(jīng)驗(yàn)的程序員知道,條件語(yǔ)句在代碼中的作用,在VB.NET中VB.NET CASE語(yǔ)句就是比較常用的一種,下面是詳細(xì)的介紹和代碼的演示。
如果要將同一個(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è)示例,代碼如下:

 
 
 
  1. Function bonus(ByVal performance As Integer, _
  2. ByVal salary As Decimal) As Decimal
  3. Select performance
  4. Case 1
  5. Return salary * 0.1
  6. Case 2
  7. Return salary * 0.3
  8. Case 3
  9. Return salary * 0.7
  10. Case 4
  11. Return salary * 0.9
  12. Case 5
  13. Return salary * 1.2
  14. End Select
  15. 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)。如下:

 
 
 
  1. Select ... (某個(gè)表達(dá)式,比如一個(gè)變量)
  2. Case... (某個(gè)值)
  3. ...(執(zhí)行代碼)
  4. Case... (某個(gè)值)
  5. ...執(zhí)行代碼
  6. 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 如何處理?

你可以改寫程序,如下:

 
 
 
  1. Function bonus(ByVal performance As Integer, _
  2. ByVal salary As Decimal) As Decimal
  3. Select performance
  4. Case 1
  5. Return salary * 0.1
  6. Case 2
  7. Return salary * 0.3
  8. Case 3
  9. Return salary * 0.7
  10. Case 4
  11. Return salary * 0.9
  12. Case 5
  13. Return salary * 1.2
  14. Case Else
  15. Return 0
  16. End Select
  17. End Function

注意改寫的示例增加了兩行代碼:

 
 
 
  1. Case Else
  2. Return 0

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

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

 
 
 
  1. Function bonus(ByVal performance As Integer, _
  2. ByVal salary As Decimal) As Decimal
  3. Select performance
  4. Case 1
  5. Return salary * 0.1
  6. Case 2,3
  7. Return salary * 0.3
  8. Case 3 To 7
  9. Return salary * 0.7
  10. Case 8 To 9
  11. Return salary * 0.9
  12. Case Is <= 15
  13. Return salary * 1.2
  14. Case Else
  15. Return 0
  16. End Select
  17. End Function

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

 
 
 
  1. Case 1 

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

 
 
 
  1. Case 2,3

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

 
 
 
  1. Case 3 To 7 

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

 
 
 
  1. Case Is <= 15

當(dāng)前名稱:程序員必看VB.NETCASE語(yǔ)句拓展篇
網(wǎng)頁(yè)地址:http://www.5511xx.com/article/dpjdods.html