Name

Structure...End Structure Statement

Syntax

Public|Private|Friend] StructureStructureName
                  Nonmethod member declarations
   
                  Method member declarations
End Structure

Description

Used to declare user-defined types. Structures are similar to classes, but they are value types rather than reference types.

Rules at a Glance

  • The members of a structure can be variables, properties, methods, or events. Note, however, that each member must be declared with an access modifier: Public (or Dim), Private, or Friend.

  • You cannot assign a structure member an initial value at the same time as you declare it. As a result, the following Structure construct is illegal:

    Structure Point
       Public x As Integer = 0       ' Illegal
       Public y As Integer = 0       ' Illegal
    End Structure
  • Structure members can be other structures or objects.

  • If a structure member is an array, it cannot be explicitly dimensioned.

  • Structures can be passed as arguments to functions or as the return type of a function.

  • Although structures are similar to classes, the following class features are not supported in structures:

    • Structures cannot explicitly inherit, nor can they be inherited.

    • All constructors for a structure must be parameterized.

    • Structures cannot define destructors.

    • Member declarations cannot include initializers, nor can they use the As New syntax or specify an initial array size.

Example

The simplest and most common use of structures is to encapsulate related variables. For instance, we might define a structure as follows:

Structure strPerson ...

Get VB .NET Language in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.