Sonderzeichen in Code (Visual Basic)

Manchmal müssen Sie Sonderzeichen im Code verwenden, d. h. Zeichen, die nicht alphabetisch oder numerisch sind. Interpunktion und Sonderzeichen im Visual Basic-Zeichensatz haben verschiedene Funktionen. Diese reichen von der Strukturierung des Programmtexts bis zur Definition der Aufgaben, die der Compiler oder das kompilierte Programm ausführt. Sie legen keine auszuführende Operation fest.

Klammern

Verwenden Sie Klammern, wenn Sie eine Prozedur definieren, z. B. Sub oder Function. Sie müssen alle Prozedurargumentlisten in Klammern einschließen. Sie verwenden auch Klammern, um Variablen oder Argumente in logischen Gruppen zu platzieren, insbesondere, um die Standardreihenfolge der Operatorrangfolge in einem komplexen Ausdruck zu überschreiben. Dies wird anhand des folgenden Beispiels veranschaulicht.

Dim a, b, c, d, e As Double
a = 3.2
b = 7.6
c = 2
d = b + c / a
e = (b + c) / a

Nach der Ausführung des vorherigen Codes ist der Wert von d „8,225“ und der Wert von e „3“. Die Berechnung für d verwendet die Standardrangfolge von / vor + und entspricht d = b + (c / a). Die Klammern in der Berechnung für e überschreiben die Standardrangfolge.

Trennzeichen

Trennzeichen tun, was ihr Name nahelegt: Sie trennen Codeabschnitte. In Visual Basic ist das Trennzeichen der Doppelpunkt (:). Verwenden Sie Trennzeichen, wenn Sie mehrere Anweisungen in eine einzelnen Zeile einschließen möchten, anstatt sie in separate Zeilen zu schreiben. Dies spart Platz und verbessert die Lesbarkeit Ihres Codes. Das folgende Beispiel zeigt drei durch Doppelpunkte getrennte Anweisungen.

a = 3.2 : b = 7.6 : c = 2

Weitere Informationen finden Sie unter Vorgehensweise: Umbrechen und Zusammenfassen von Anweisungen in Code.

Das Doppelpunktzeichen (:) wird auch verwendet, um eine Anweisungsbezeichnung zu identifizieren. Weitere Informationen finden Sie unter Vorgehensweise: Bezeichnen von Anweisungen.

Verkettung

Verwenden Sie den &-Operator zur Verkettung, oder um Zeichenfolgen miteinander zu verknüpfen. Verwechseln Sie dies nicht mit dem +-Operator, der numerische Werte addiert. Wenn Sie den +-Operator zum Verketten verwenden, wenn Sie mit numerischen Werten arbeiten, können Sie falsche Ergebnisse erhalten. Dies wird im folgenden Beispiel veranschaulicht:

var1 = "10.01"
var2 = 11
resultA = var1 + var2
resultB = var1 & var2

Nach der Ausführung des vorherigen Codes ist der Wert von resultA „21,01“ und der Wert von resultB „10,0111“.

Operatoren für den Memberzugriff

Um auf einen Member eines Typs zuzugreifen, verwenden Sie den Punkt- (.) oder Ausrufezeichenoperator (!) zwischen dem Typnamen und dem Membernamen.

Punktoperator (.)

Verwenden Sie den .-Operator für eine Klasse, Struktur, Schnittstelle oder Enumeration als Memberzugriffsoperator. Der Member kann ein Feld, eine Eigenschaft, ein Ereignis oder eine Methode sein. Dies wird anhand des folgenden Beispiels veranschaulicht.

Dim nextForm As New System.Windows.Forms.Form
' Access Text member (property) of Form class (on nextForm object).
nextForm.Text = "This is the next form"
' Access Close member (method) on nextForm.
nextForm.Close()

Ausrufezeichenoperator (!)

Verwenden Sie den !-Operator nur für eine Klasse oder Schnittstelle als Wörterbuchzugriffsoperator. Die Klasse oder Schnittstelle muss über eine Standardeigenschaft verfügen, die ein einzelnes String-Argument akzeptiert. Der Bezeichner, der unmittelbar auf den !-Operator folgt, wird zum Argumentwert, der als Zeichenfolge an die Standardeigenschaft übergeben wird. Dies wird im folgenden Beispiel veranschaulicht:

Public Class hasDefault
  Default Public ReadOnly Property index(ByVal s As String) As Integer
    Get
      Return 32768 + AscW(s)
    End Get
  End Property
End Class
Public Class testHasDefault
  Public Sub compareAccess()
    Dim hD As hasDefault = New hasDefault()
    MsgBox("Traditional access returns " & hD.index("X") & vbCrLf & 
      "Default property access returns " & hD("X") & vbCrLf & 
      "Dictionary access returns " & hD!X)
  End Sub
End Class

Alle drei Ausgabezeilen von MsgBox zeigen den Wert 32856 an. Die erste Zeile verwendet den herkömmlichen Zugriff auf die Eigenschaft index, die zweite nutzt die Tatsache, dass index die Standardeigenschaft der Klasse hasDefault ist, und die dritte verwendet den Wörterbuchzugriff auf die Klasse.

Beachten Sie, dass der zweite Operand des !-Operators ein gültiger Visual Basic-Bezeichner sein muss, der nicht in doppelte Anführungszeichen (" ") eingeschlossen ist. Anders ausgedrückt: Sie können kein Zeichenfolgenliteral oder eine Zeichenfolgenvariable verwenden. Die folgende Änderung an der letzten Zeile des MsgBox-Aufrufs generiert einen Fehler, da "X" ein eingeschlossenes Zeichenfolgenliteral ist.

"Dictionary access returns " & hD!"X")

Hinweis

Verweise auf Standardsammlungen müssen explizit sein. Insbesondere können Sie den !-Operator nicht für eine spät gebundene Variable verwenden.

Das !-Zeichen wird auch als Single-Typzeichen verwendet.

Siehe auch