深入分析VB.NET条件语句中的两类

开发 后端
这里介绍VB.NET条件语句,当程序中的条件比较复杂,而且是根据同一个表达式的不同值执行不同操作的时候,用If/Then/Else语句来写就显得十分烦琐。

经过长时间学习VB.NET条件语句,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。在程序设计中,VB.NET条件语句能够根据表达式的值来决定代码的执行流程。在VB.NET中,条件分支语句有两种:If/Then/Else语句和Select/Case语句。

1. If/Then/Else语句

If/Then/Else语句是最常用的VB.NET条件语句。它的基本形式是:

  1. If condition Then statements1 [Else statements2 ] 

它表示:如果condition为True,那么就执行statements1;否则执行statements2。根据时间显示问候信息。

  1. <%  
  2. If Hour(Now)<12 Then Response.Write ("Good morning! Cindy!")  
  3. If Hour(Now)=12 Then Response.Write ("Good noon! Cindy!")  
  4. If (Hour(Now)>12 And Hour(Now)<18) Then Response.Write ("Good afternoon! Cindy!")  
  5. If Hour(Now)>=18 Then Response.Write ("Good evening! Cindy!")  
  6. %> 

在上面的例子中,函数Hour()是对给出的日期时间求它的小时数,Now函数用于返回当前的日期和时间。程序根据当时的时间判定是上午、中午还是下午,分别给出问候信息。我们看到,这个写法很简单,但是这个程序为了显示一条问候信息,要对Hour(Now)取值4次并且执行4次比较才能完成,从效率上考虑并不好。If/Then/Else语句还可以写成比较复杂的形式:

  1. If condition_1 Then  
  2. statements_1  
  3. [ElseIf condition_m Then statements_m  
  4. [ElseIf condition_n Then…]]  
  5. [Else statements_2]  
  6. End If 

这个语句可以检测多个条件。第一种写法要求语句在写的时候要在一行中写完,例如例2.4 的第2行的If语句。这条语句也可以采用第二种方法来写,方法如下:

  1. If Hour(Now)<12 Then  
  2. Response.Write ("Good Morning!Cindy!")  
  3. End If 

建议用户采用后一种写法,因为这种方法更结构化,可读性好。当用户在调试大型软件的代码时,会发现,虽然看起来多写了几行语句,但好处却是很大的。根据时间显示问候信息。请注意这个例子的写法与上个例子中的写法在执行效率上的区别。

  1. <%  
  2. If Hour(Now)<12 Then  
  3. Response.Write ("Good morning! Cindy!")  
  4. ElseIf Hour(Now)=12 Then  
  5. Response.Write ("Good noon! Cindy!")  
  6. ElseIf Hour(Now)>=18 Then  
  7. Response.Write ("Good evening! Cindy!")  
  8. Else  
  9. Response.Write ("Good afternoon! Cindy!")  
  10. End If  
  11. %> 

上面的例子在执行的过程中,对于当前不同的时间,为了显示问候信息,执行的Hour(Now)的取值和比较的次数是不一样的:最少只要1次,最多需要3次。

2. Select/Case结构

当程序中的条件比较复杂,而且是根据同一个表达式的不同值执行不同操作的时候,用If/Then/Else语句来写就显得十分烦琐。这时可以考虑采用Select/Case结构来完成VB.NET条件语句。

Select/Case结构为:

  1. Select Case testexpression  
  2. Case condition_1  
  3. statements_1  
  4. [… Case Else statements_n]  
  5. End Select 

它表示:如果testexpression的值是Condition_1,就执行statements_1,以此类推,如果都不符合,就执行Statements_n。用Select/Case语句来实现问候信息的显示。

  1. <%  
  2. Select Case Hour(Now)  
  3. Case 0,1,2,3,4,5,6,7,8,9,10,11  
  4. Response.Write ("Good morning! Cindy!")  
  5. Case 12  
  6. Response.Write ("Good noon! Cindy!")  
  7. Case 13,14,15,16,17  
  8. Response.Write ("Good afternoon! Cindy!")  
  9. Case Else  
  10. Response.Write ("Good evening! Cindy!")  
  11. End Select  
  12. %> 

很明显,用这种方法来显示问候信息要比用If/Then/Else语句清楚得多。因此,在选择VB.NET条件语句的时候要考虑好采用什么方式,并认真设置好条件。

【编辑推荐】

  1. 全方位分析VB.NET编码规范
  2. 详细说明VB.NET变量中四点
  3. 三类十二种VB.NET数据类型全面介绍
  4. VB.NET初步知识,初学者必看
  5. 具体介绍四大类VB.NET循环
责任编辑:佚名 来源: IT168
相关推荐

2010-01-15 18:56:58

VB.NET Fiel

2009-10-28 10:15:48

VB.NET框架类库

2010-01-18 13:46:32

VB.NET条件分支语

2009-10-15 10:57:16

VB.NET Text

2009-10-21 11:07:32

VB.NET类库

2009-10-15 17:41:14

VB.NET Impo

2009-11-04 08:53:57

VB.NET AddH

2009-10-21 16:00:26

VB.NET CASE

2009-10-28 10:31:23

VB.NET Impl

2009-10-21 10:05:30

VB.NET运行环境

2010-01-12 15:21:48

VB.NET权限控制

2009-10-20 09:39:04

VB.NET Butt

2009-10-29 10:45:01

VB.NET设置控件

2009-10-13 14:50:59

VB.NET Envi

2010-01-12 16:20:44

VB.NET类

2009-10-20 17:38:54

VB.NET Comp

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-11-02 17:12:01

VB和VB.NET
点赞
收藏

51CTO技术栈公众号