Übersetzung vorschlagen
 
Andere Vorschläge:

progress indicator
Keine anderen Vorschläge
Per Mausklick bewerten und Feedback geben
MSDN
MSDN Library
Visual Studio 2010
Visual Studio
Visual Basic
 Benutzerdefinierter Datentyp
Alle reduzieren/Alle erweitern Alle reduzieren
Inhalt anzeigen:  Englisch mit deutscher ÜbersetzungInhalt anzeigen: Englisch mit deutscher Übersetzung
Visual Studio 2010 - Visual Basic
User-Defined Data Type

Holds data in a format you define. The Structure statement defines the format.

Previous versions of Visual Basic support the user-defined type (UDT). The current version expands the UDT to a structure. A structure is a concatenation of one or more members of various data types. Visual Basic treats a structure as a single unit, although you can also access its members individually.

Define and use a structure data type when you need to combine various data types into a single unit, or when none of the elementary data types serve your needs.

The default value of a structure data type consists of the combination of the default values of each of its members.

Declaration Format

A structure declaration starts with the Structure Statement and ends with the End Structure statement. The Structure statement supplies the name of the structure, which is also the identifier of the data type the structure is defining. Other parts of the code can use this identifier to declare variables, parameters, and function return values to be of this structure's data type.

The declarations between the Structure and End Structure statements define the members of the structure.

Member Access Levels

You must declare every member using a Dim Statement (Visual Basic) or a statement that specifies access level, such as Public (Visual Basic), Friend (Visual Basic), or Private (Visual Basic). If you use a Dim statement, the access level defaults to public.

Programming Tips

  • Memory Consumption. As with all composite data types, you cannot safely calculate the total memory consumption of a structure by adding together the nominal storage allocations of its members. Furthermore, you cannot safely assume that the order of storage in memory is the same as your order of declaration. If you need to control the storage layout of a structure, you can apply the StructLayoutAttribute attribute to the Structure statement.

  • Interop Considerations. If you are interfacing with components not written for the .NET Framework, for example Automation or COM objects, keep in mind that user-defined types in other environments are not compatible with Visual Basic structure types.

  • Widening. There is no automatic conversion to or from any structure data type. You can define conversion operators on your structure using the Operator Statement, and you can declare each conversion operator to be Widening or Narrowing.

  • Type Characters. Structure data types have no literal type character or identifier type character.

  • Framework Type. There is no corresponding type in the .NET Framework. All structures inherit from the .NET Framework class System..::.ValueType, but no individual structure corresponds to System..::.ValueType.

The following paradigm shows the outline of the declaration of a structure.

[Public | Protected | Friend | Protected Friend | Private] Structure structname
    {Dim | Public | Friend | Private} member1 As datatype1
    ' ...
    {Dim | Public | Friend | Private} memberN As datatypeN
End Structure
Visual Studio 2010 - Visual Basic
Benutzerdefinierter Datentyp

Enthält Daten in einem Format, das Sie definieren. Das Format wird durch die Structure-Anweisung definiert.

Frühere Versionen von Visual Basic unterstützen den benutzerdefinierten Typ (UDT). In der aktuellen Version wird der UDT zu einer Struktur erweitert. Strukturen sind Verkettungen mehrerer Member verschiedener Datentypen. Visual Basic behandelt eine Struktur als einzelne Einheit, dennoch können Sie auch auf einzelne Member der Struktur zugreifen.

Definieren und verwenden Sie einen Structure-Datentyp, wenn Sie verschiedene Datentypen zu einer Einheit kombinieren müssen oder wenn keiner der elementaren Datentypen Ihren Anforderungen entspricht.

Der Standardwert eines Structure-Datentyps ergibt sich aus der Kombination der Standardwerte seiner einzelnen Member.

Deklarationsformat

Eine Strukturdeklaration beginnt mit der Structure-Anweisung und endet mit der End Structure-Anweisung. Die Structure-Anweisung gibt den Namen der Struktur an. Dieser ist auch der Bezeichner des Datentyps, der durch die Struktur definiert wird. Von anderen Abschnitten des Codes kann dieser Bezeichner dazu verwendet werden, um Variablen, Parameter und Rückgabewerte von Funktionen als Datentyp dieser Struktur zu deklarieren.

Die Deklarationen zwischen der Structure-Anweisung und der End Structure-Anweisung definieren die Member der Struktur.

Memberzugriffsebenen

Sie müssen jeden Member mit einer Dim-Anweisung (Visual Basic) oder einer Anweisung deklarieren, die die Zugriffsebene angibt, beispielsweise Public (Visual Basic), Friend (Visual Basic) oder Private (Visual Basic). Wenn Sie eine Dim-Anweisung verwenden, wird als Zugriffsebene standardmäßig Public festgelegt.

Programmiertipps

  • Speicherverbrauch. Wie bei allen zusammengesetzten Datentypen können Sie den gesamten Speicherverbrauch auch bei Strukturen durch Addition der nominalen Speicherbelegungen ihrer Member nicht zuverlässig berechnen. Darüber hinaus können Sie nicht davon ausgehen, dass die Member im Speicher in derselben Reihenfolge wie in der Deklaration angeordnet sind. Wenn Sie das Speicherlayout einer Struktur steuern müssen, können Sie das StructLayoutAttribute-Attribut auf die Structure-Anweisung anwenden.

  • Interop-Überlegungen. Wenn eine Schnittstelle mit Komponenten vorhanden ist, die nicht für .NET-Framework geschrieben wurden (z. B. Automatisierungs- oder COM-Objekte) ist zu beachten, dass benutzerdefinierte Typen in anderen Umgebungen nicht mit Visual Basic-Strukturtypen kompatibel sind.

  • Erweiterung. Es gibt keine automatische Konvertierung in einen oder aus einem Strukturdatentyp. Mit der Operator-Anweisung können Sie Konvertierungsoperatoren der Struktur definieren, und Sie können jeden Konvertierungsoperator als Widening oder Narrowing deklarieren.

  • Typzeichen. Strukturdatentypen verfügen über kein Literaltypzeichen oder Typkennzeichen.

  • Framework-Typ. Es gibt keinen entsprechenden Typ in .NET Framework. Alle Strukturen erben von der .NET Framework-Klasse System..::.ValueType, allerdings entspricht keine einzelne Struktur System..::.ValueType.

Das folgende Beispiel zeigt die Gliederung der Deklaration einer Struktur.

[Public | Protected | Friend | Protected Friend | Private] Structure structname
    {Dim | Public | Friend | Private} member1 As datatype1
    ' ...
    {Dim | Public | Friend | Private} memberN As datatypeN
End Structure
Communityinhalt   Was ist Community Content?
Neuen Inhalt hinzufügen RSS  Anmerkungen
Processing
© 2012 Microsoft. Alle Rechte vorbehalten. Nutzungsbedingungen | Markenzeichen | Informationen zur Datensicherheit
Page view tracker