虽然该主题与变量有关但作用域和生存期的讨论一直留到现在因为它会影响您已经学过的其他所有主题且作用域会影响生存期术语作用域表示某个变量可以在其他代码中使用的程度而您已经看到Private和Public如何影响方法和属性的可访问性但是可能没有意识到变量的可访问性依赖于声明它们的位置为了简化该操作可以看看以下代码
Public Class Class
Private _Variable As Integer
private Sub Method()
dim variable As Integer
_variable=
variable=
End Sub
Private Sub Method()
_variable=
End Sub
End Class
变量_variable 是在类的中间方法的外部声明的因此可以从任何方法和属性中访问它在另一个方面Variable是在方法Methodl中声明的因此只能在Method 中访问它其他方法或属性都不能使用它这可以使用术语局部变量(local variable)来命名
同样的规则也适用于代码段中声明的变量例如
Dim number As Integer
If number= then
Dim number As Integer
number=number+
End If
这里的number 是在If Then代码段的外部声明的因此可以在它内部使用但number是在该代码段中声明的因此不能在它的外部使用同样的规则也适用于其他代码段如循环
For Each循环也有这种规则
For Each item As CartItem in CartItems
Next
变量项是在语句当中声明的但遵循同样的规则只可以从循环体中访问它尝试在循环体外部访问该变量将会产生编译错误
ASPNET 入门教程完整版