自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員必看VB.NET CASE語句拓展篇

開發(fā) 后端
深入詳解VB.NET CASE語句,同一個表達式與不同的值進行比較可以用 Select...Case 語句來替換 If...Then...Else 語句。

有過開發(fā)經(jīng)驗的程序員知道,條件語句在代碼中的作用,在VB.NET中VB.NET CASE語句就是比較常用的一種,下面是詳細的介紹和代碼的演示。
如果要將同一個表達式與不同的值進行比較,則可以用 Select...Case 語句來替換 If...Then...Else 語句。所不同的是, If 和 ElseIf 語句可在每個語句中計算不同的表達式,而 Select 語句對單個表達式只計算一次,然后將其和不同的值比較。

我們來看一個示例,代碼如下:

  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 

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

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

  1. Select ... (某個表達式,比如一個變量)  
  2. Case... (某個值)  
  3. ...(執(zhí)行代碼)  
  4. Case... (某個值)  
  5. ...執(zhí)行代碼  
  6. End Select 


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

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

VB.NET CASE Else語句

如果表達式不符合 Case語句的任何值,可以用 Case Else 語句來應(yīng)付例外情況。比如上個示例中,除了 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語句的任何值時,就執(zhí)行 Case Else 后的語句,返回 0 。

VB.NET Case語句可包含多個值和某個范圍的值

  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 

每個 Case 語句可以包含一個值,比如:

  1. Case 1  

也可以包含多個值,多個值用逗號 (,) 分開,比如:

  1. Case 2,3 

也可以是某個范圍的值,比如:

  1. Case 3 To 7  

也可以是值和比較運算符的組合,比如:

  1. Case Is <= 15 

【編輯推薦】

  1. 深入介紹VB.NET類庫 SmartRWLocker技巧
  2. VB.NET復(fù)制讀取音頻文件到剪貼板小技巧
  3. 深入概括VB.NET運行環(huán)境
  4. 快速使用VB.NET搜索程序?qū)嵗?/FONT>
  5. WinRar對VB.NET文件壓縮技巧歸納總結(jié)
責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2009-10-21 16:00:26

VB.NET CASE

2009-10-28 09:21:19

VB.NET技術(shù)

2011-03-10 13:45:24

VB.NET

2009-10-28 13:17:34

2009-10-15 17:41:14

VB.NET Impo

2009-11-04 08:53:57

VB.NET AddH

2009-10-28 10:31:23

VB.NET Impl

2009-11-10 11:40:33

VB.NET運算操作

2009-10-22 16:46:03

VB.NET初步知識

2009-10-16 11:21:54

VB.NET Decl

2009-10-28 14:13:32

VB.NET File

2009-10-15 11:42:05

VB.Net賦值語句

2009-10-27 14:49:11

VB.NET命名規(guī)范

2009-10-28 14:44:43

VB.NET Name

2010-01-21 18:35:56

VB.NET Impo

2009-10-29 15:28:38

VB.NET文件操作

2010-01-13 14:26:39

VB.NET開發(fā)

2009-10-10 15:43:51

2009-11-02 13:54:27

VB.NET shel

2011-07-12 13:35:04

程序員
點贊
收藏

51CTO技術(shù)棧公眾號