程序员必看VB.NETCASE语句拓展篇

有过开发经验的程序员知道,条件语句在代码中的作用,在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) 的函数 (Function) 有两个参数,一个是 performance,即员工的表现,另外一个是 salary,即员工的工资。员工的表现有 5 等,分别用 1,2,3,4,5 来表示。这个示例用了 Select...Case 语句,意思是当员工 performance 为 1 时,员工的奖金是工资乘以 0.1;当员工 performance 为 2 时,员工的奖金是工资乘以 0.3;当员工 performance 为 3 时,员工的奖金是工资乘以 0.7;员工 performance 为 4 时,员工的奖金是工资乘以 0.9;员工 performance 为 5 时,员工的奖金是工资乘以 1.2。

通过这个示例,你可以了解 Select...Case 语句的结构。如下:

 
 
 
  1. Select ... (某个表达式,比如一个变量)
  2. Case... (某个值)
  3. ...(执行代码)
  4. Case... (某个值)
  5. ...执行代码
  6. End Select

你可以使用任意数目的 VB.NET CASE语句增加要比较的值。

Visual Basic 按照在 Select...Case 结构中出现的顺序,将表达式的值和 Case 语句中的值进行比较。如果发现有一个 Case 的值匹配,就执行该 Case 相应的代码,执行完之后,不会再执行其它VB.NET Case 语句,直接就到 End Select 了。

VB.NET CASE Else语句

如果表达式不符合 Case语句的任何值,可以用 Case Else 语句来应付例外情况。比如上个示例中,除了 1 到 5 的数值外,假设员工 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语句的任何值时,就执行 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

网页名称:程序员必看VB.NETCASE语句拓展篇
网站地址:http://www.mswzjz.cn/qtweb/news34/388684.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能