编程人员在使用VB.NET进行编程的时候,会发现这门语言是一款功能非常强大,能够帮助我们大大提高编程效率的编程语言。那么我们如何才能最正确的理解这一语言呢?首先让我们一起来看看VB.NET声明结构的方法,来初步的了解一下。#t#
“结构”是 Visual Basic 早期版本支持的用户定义类型 (UDT) 的一般化。除字段外,结构还可以公开属性、方法和事件。结构可以实现一个或多个接口,而您可以分别为每个字段声明访问级别。
可以合并不同类型的数据项来进行VB.NET声明结构。结构将一个或多个“元素”彼此关联并且将它们与结构本身关联。声明了结构后,它将成为“复合数据类型”,而您可以声明该类型的变量。
想让单个变量持有几个相关信息时结构很有用。例如,您可能想将一个雇员的姓名、电话分机号和薪金放在一起。可以对这些信息使用几个变量,或者可以定义一个结构并将它用于单个雇员变量。当有许多雇员并且因此有该变量的许多实例时,结构的优点变得非常明显。
使用 Structure 语句语句作为VB.NET声明结构的开始,并使用 EndStructure 语句作为结构声明的结束。在这两条语句之间必须至少声明一个“元素”。元素可以是任何数据类型,但是至少一个必须是非共享变量,或是非共享非自定义事件。
不能在VB.NET声明结构中初始化任何结构元素。如果将一个变量声明为结构类型,则可以通过变量访问元素来给它们赋值。
关于结构和类之间的差异的讨论,请参见结构和类。
为演示需要,考虑一种情况:跟踪雇员的姓名、电话分机和薪金。结构允许在单个变量中实现。
声明一个结构
创建结构的开始和结束语句。
可以使用 Public (Visual Basic)、Protected (Visual Basic)、Friend (Visual Basic) 或 Private (Visual Basic) 关键字指定结构的访问级别,或者使用默认值 Public。
- Private Structure employee
- End Structure
向结构体添加元素。
结构必须具有至少一个元素。必须在VB.NET声明结构的每个元素并指定其访问级别。如果使用不含任何关键字的 Dim 语句 (Visual Basic),则可访问性默认值为 Public。
- Private Structure employee
- Public givenName As String
- Public familyName As String
- Public phoneExtension As Long
- Private salary As Decimal
- Public Sub giveRaise(raise As Double)
- salary *= raise
- End Sub
- Public Event salaryReviewTime()
- End Structure
前面的示例中的 salary 字段是 Private,这意味着不能从结构之外访问该字段,即使是从包含类也不能访问。但是,giveRaise 过程是 Public,因此可以从结构之外调用。同样,可以从结构之外引发 salaryReviewTime 事件。
除了变量、Sub 过程和事件之外,还可以在VB.NET声明结构中定义常数、Function 过程和属性。可将最多一个属性定义为“默认属性”,只要该属性具有至少一个参数。可以使用 Shared (Visual Basic)Sub 过程来处理事件。有关更多信息,请参见如何:在 Visual Basic 中声明和调用默认属性。