Variablendeklaration in Visual BasicVariable Declaration in Visual Basic

Sie deklarieren eine Variable, um deren Namen und Merkmale anzugeben.You declare a variable to specify its name and characteristics. Die Deklarations Anweisung für Variablen ist die Dim-Anweisung.The declaration statement for variables is the Dim Statement. Speicherort und Inhalt bestimmen die Merkmale der Variablen.Its location and contents determine the variable's characteristics.

Informationen zu Variablen Benennungs Regeln und-Überlegungen finden Sie unter deklarierte Element Namen.For variable naming rules and considerations, see Declared Element Names.

Deklarations StufenDeclaration Levels

Lokale Variablen und Element VariablenLocal and Member Variables

Eine lokale Variable ist eine, die innerhalb einer Prozedur deklariert wird.A local variable is one that is declared within a procedure. Eine Member-Variable ist ein Member eines Visual Basic Typs. Sie wird auf Modulebene innerhalb einer Klasse, Struktur oder eines Moduls deklariert, jedoch nicht innerhalb einer Prozedur, die für diese Klasse, Struktur oder dieses Modul intern ist.A member variable is a member of a Visual Basic type; it is declared at module level, inside a class, structure, or module, but not within any procedure internal to that class, structure, or module.

Freigegebene und InstanzvariablenShared and Instance Variables

In einer Klasse oder Struktur ist die Kategorie einer Element Variablen davon abhängig, ob Sie freigegeben ist.In a class or structure, the category of a member variable depends on whether or not it is shared. Wenn Sie mit dem Shared -Schlüsselwort deklariert ist, handelt es sich um eine frei gegebene Variable, die in einer einzelnen Kopie vorhanden ist, die von allen Instanzen der Klasse oder Struktur gemeinsam genutzt wird.If it is declared with the Shared keyword, it is a shared variable, and it exists in a single copy shared among all instances of the class or structure.

Andernfalls handelt es sich um eine Instanzvariable, und für jede Instanz der Klasse oder Struktur wird eine separate Kopie davon erstellt.Otherwise it is an instance variable, and a separate copy of it is created for each instance of the class or structure. Eine bestimmte Kopie einer Instanzvariablen ist nur für die Instanz der Klasse oder Struktur verfügbar, in der Sie erstellt wurde.A given copy of an instance variable is available only to the instance of the class or structure in which it was created. Es ist unabhängig von einer Kopie der Instanzvariablen in einer anderen Instanz der Klasse oder Struktur.It is independent of a copy of the instance variable in any other instance of the class or structure.

Deklarierender DatentypDeclaring Data Type

Mit der As -Klausel in der Deklarations Anweisung können Sie den Datentyp oder Objekttyp der Variablen definieren, die Sie deklarieren.The As clause in the declaration statement allows you to define the data type or object type of the variable you are declaring. Sie können einen der folgenden Typen für eine Variable angeben:You can specify any of the following types for a variable:

  • Ein grundlegender Datentyp, z. b. Boolean, Long oder DecimalAn elementary data type, such as Boolean, Long, or Decimal

  • Ein zusammengesetzter Datentyp, z. b. ein Array oder eine Struktur.A composite data type, such as an array or structure

  • Ein Objekttyp oder eine Klasse, die entweder in der Anwendung oder in einer anderen Anwendung definiert ist.An object type, or class, defined either in your application or in another application

  • Eine .NET Framework Klasse, z. b. Label oder TextBoxA .NET Framework class, such as Label or TextBox

  • Ein Schnittstellentyp, z. b. IComparable oder IDisposableAn interface type, such as IComparable or IDisposable

Sie können mehrere Variablen in einer Anweisung deklarieren, ohne den Datentyp wiederholen zu müssen.You can declare several variables in one statement without having to repeat the data type. In den folgenden-Anweisungen werden die Variablen i, j und k als Typ Integer, l und m als Long und x und y als Single deklariert:In the following statements, the variables i, j, and k are declared as type Integer, l and m as Long, and x and y as Single:

Dim i, j, k As Integer  
' All three variables in the preceding statement are declared as Integer.  
Dim l, m As Long, x, y As Single  
' In the preceding statement, l and m are Long, x and y are Single.  

Weitere Informationen zu-Datentypen finden Sie unter Datentypen.For more information on data types, see Data Types. Weitere Informationen zu-Objekten finden Sie unter Objekte und Klassen und Programmieren mit-Komponenten.For more information on objects, see Objects and Classes and Programming with Components.

Lokaler TyprückschlussLocal Type Inference

Der Typrückschluss wird verwendet, um die Datentypen von lokalen Variablen zu bestimmen, die ohne eine As-Klausel deklariert werden.Type inference is used to determine the data types of local variables declared without an As clause. Der Compiler leitet den Typ der Variablen vom Typ des Initialisierungs Ausdrucks ab.The compiler infers the type of the variable from the type of the initialization expression. Dadurch können Sie Variablen deklarieren, ohne explizit einen Typ anzugeben.This enables you to declare variables without explicitly stating a type. Im folgenden Beispiel sind sowohl num1 als auch num2 stark als ganze Zahlen typisiert.In the following example, both num1 and num2 are strongly typed as integers.

Public Sub inferenceExample()

    ' Using explicit typing.
    Dim num1 As Integer = 3

    ' Using local type inference.
    Dim num2 = 3

End Sub

Wenn Sie den lokalen Typrückschluss verwenden möchten, muss Option Infer auf On festgelegt werden.If you want to use local type inference, Option Infer must be set to On. Weitere Informationen finden Sie unter Local Type Inference (Lokaler Typrückschluss) und Option Infer Statement (Option Infer-Anweisung).For more information, see Local Type Inference and Option Infer Statement.

Merkmale von deklarierten VariablenCharacteristics of Declared Variables

Die Lebensdauer einer Variablen ist der Zeitraum, in dem Sie zur Verwendung verfügbar ist.The lifetime of a variable is the period of time during which it is available for use. Im Allgemeinen ist eine Variable vorhanden, solange das Element, das Sie deklariert (z. b. eine Prozedur oder eine Klasse), weiterhin vorhanden ist.In general, a variable exists as long as the element that declares it (such as a procedure or class) continues to exist. Wenn die Variable nicht fortgesetzt werden muss, wenn Sie die Lebensdauer des enthaltenden Elements überschreitet, müssen Sie in der Deklaration nichts Besonderes tun.If the variable does not need to continue existing beyond the lifetime of its containing element, you do not need to do anything special in the declaration. Wenn die Variable länger vorhanden sein muss als das enthaltende Element, können Sie das Static-oder Shared-Schlüsselwort in der Dim-Anweisung einschließen.If the variable needs to continue to exist longer than its containing element, you can include the Static or Shared keyword in its Dim statement. Weitere Informationen finden Sie unter Lebensdauer in Visual Basic.For more information, see Lifetime in Visual Basic.

Der Gültigkeits Bereich einer Variablen ist der Satz des gesamten Codes, der darauf verweisen kann, ohne den Namen zu qualifizieren.The scope of a variable is the set of all code that can refer to it without qualifying its name. Der Gültigkeitsbereich einer Variablen wird bestimmt, wo Sie deklariert ist.A variable's scope is determined by where it is declared. Code, der sich in einer bestimmten Region befindet, kann die Variablen verwenden, die in dieser Region definiert sind, ohne deren Namen qualifizieren zu müssen.Code located in a given region can use the variables defined in that region without having to qualify their names. Weitere Informationen finden Sie unter Scope in Visual Basic.For more information, see Scope in Visual Basic.

Die Zugriffsebene einer Variablen ist der Umfang des Codes, der über die entsprechende Zugriffsberechtigung verfügt.A variable's access level is the extent of code that has permission to access it. Dies wird durch den Zugriffsmodifizierer (z. b. öffentlich oder Privat) bestimmt, den Sie in der Dim-Anweisung verwenden.This is determined by the access modifier (such as Public or Private) that you use in the Dim statement. Weitere Informationen finden Sie unter Zugriffsebenen in Visual Basic.For more information, see Access levels in Visual Basic.

Siehe auchSee also