VB2008编程结构详解
立即解锁
发布时间: 2025-08-26 01:57:27 阅读量: 2 订阅数: 11 


精通VB 2008与.NET 3.5平台编程
### VB 2008 编程结构详解
#### 1. 代码语句的紧凑写法
在 VB 2008 中,可以使用冒号字符来紧凑子程序的作用域。例如:
```vb
Sub MyMethod()
Dim s As String
Dim i As Integer
s = "Fred"
i = 10
End Sub
```
可以改写为:
```vb
Sub MyMethod()
Dim s As String
Dim i As Integer
s = "Fred" : i = 10
End Sub
```
不过,要注意冒号的滥用很容易导致代码难以阅读。当与语句延续字符结合使用时,可能会产生糟糕的语句,如:
```vb
Sub MyMethod()
Dim s As String : Dim i As Integer
s = "Fred" _
: i = 10
End Sub
```
一般来说,使用冒号在一行上定义多个语句应该谨慎使用。这个语言特性在需要对多个变量进行简单赋值时最为有用。
#### 2. VB 2008 流程控制结构
VB 2008 提供了几种运行时决策的方式,主要的流程控制结构有:
- **If/Then/Else 语句**
- **简单形式**:最简单的 If 结构没有对应的 Else。在 If 语句中,需要构造一个能解析为布尔值的表达式。例如:
```vb
Sub Main()
Dim userDone As Boolean
' 收集用户输入以分配布尔值...
If userDone = True Then
Console.WriteLine("Thanks for running this app")
End If
End Sub
```
- **复杂形式**:稍微复杂的 If 语句可以包含任意数量的 Else 语句,以处理被测试表达式的一系列值。例如:
```vb
Sub Main()
Dim userOption As String
' 从命令行读取用户选项。
userOption = Console.ReadLine()
If userOption = "GodMode" Then
Console.WriteLine("You will never die...cheater!")
ElseIf userOption = "FullLife" Then
Console.WriteLine("At the end, heh?")
ElseIf userOption = "AllAmmo" Then
Console.WriteLine("Now we can rock and roll!")
Else
Console.WriteLine("Unknown option...")
End If
End Sub
```
注意,任何次要的“else”条件用 ElseIf 关键字标记,而最终条件只用 Else。
- **构建复杂条件表达式**:流程控制结构中测试的表达式不必是简单的比较。可以使用 VB 2008 的相等/关系运算符,如下表所示:
| VB 2008 相等/关系运算符 | 示例用法 | 含义 |
| --- | --- | --- |
| = | If age = 30 Then | 只有当两个表达式相同时返回 True |
| <> | If "Foo" <> myStr Then | 只有当两个表达式不同时返回 True |
| < | If bonus < 2000 Then | 如果第一个表达式小于第二个表达式返回 True |
| > | If bonus > 2000 Then | 如果第一个表达式大于第二个表达式返回 True |
| <= | If bonus <= 2000 Then | 如果第一个表达式小于或等于第二个表达式返回 True |
| >= | If bonus >= 2000 Then | 如果第一个表达式大于或等于第二个表达式返回 True |
与基于 C 的语言不同,VB 2008 的 = 符号用于表示赋值和相等语义(因此 VB 2008 不提供 == 运算符)。
此外,还可以使用代码条件运算符(也称为逻辑运算符)构建复杂表达式,如下表所示:
| VB 2008 条件运算符 | 示例 | 含义 |
| --- | --- | --- |
| And | If age = 30 And name = "Fred" Then | 条件 AND 运算符,两个条件都必须为 True 时条件才为 True |
| AndAlso | If age = 30 AndAlso name = "Fred" Then | 支持短路的条件 AND 运算符,如果第一个表达式为 False,则不计算第二个表达式 |
| Or | If age = 30 Or name = "Fred" Then | 条件 OR 运算符 |
| OrElse | If age = 30 OrElse name = "Fred" Then | 支持短路的条件 OR 运算符,如果任一表达式为 True,则返回 True |
| Not | If Not myBool Then | 条件 NOT 运算符 |
以下是一个使用复杂条件表达式的简单示例:
```vb
Sub Main()
Dim userOption As String
Dim userAge As Integer
' 从命令行读取用户选项。
userOption = Console.ReadLine()
userAge = Integer.Parse(Console.ReadLine())
If userOption = "AdultMode" And userAge >= 21 Then
Console.WriteLine("We call this Hot Coffee Mode...")
ElseIf userOption = "AllAmmo" Then
Console.WriteLine("Now we can rock and roll!")
Else
Console.WriteLine("Unknown option...")
End If
End Sub
```
- **Select/Case 语句**:Select 语句是处理程序流程的另一种选择结构,当你希望根据一组已知的选择来处理程序流程时,它可以是 If/Then/Else 语句更紧凑的替代方案。例如:
```vb
Sub Main()
' 向用户提示选择。
Console.WriteLine("Welcome to the world of .NET")
Console.WriteLine("1 = C# 2 = C++/CLI 3 = VB 2008")
Console.Write("Please select your implementation language: ")
' 获取选择。
Dim s As String = Console.ReadLine()
Dim n As Integer = Integer.Parse(s)
' 根据输入,相应地执行操作...
Select Case n
Case Is = 1
Console.WriteLine("C# is all about managed code.")
Case Is = 2
Console.WriteLine("Maintaining a legacy system, are we?")
Case Is = 3
```
0
0
复制全文
相关推荐










