Sonderzeichen in Code (Visual Basic)
Manchmal ist es erforderlich, im Code Sonderzeichen, also nicht alphanumerische Zeichen, zu verwenden. Zeichensetzung und Sonderzeichen im Zeichensatz von Visual Basic haben verschiedene Funktionen. Diese reichen von der Strukturierung des Programmtexts bis zur Definition der Aufgaben, die der Compiler oder das kompilierte Programm ausführen. Sie legen keine auszuführende Operation fest.
Runde Klammern
Verwenden Sie Klammern zur Definition einer Prozedur, wie Sub oder Function. Alle Prozedurargumentlisten müssen in Klammern stehen. Sie verwenden auch Klammern, um Variablen oder Argumente in logischen Gruppen anzuordnen, insbesondere, um die Standardoperatorrangfolge 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 vorangehenden Codes lautet der Wert von d "8.225" und der Wert von e "3". In der Berechnung von d wird die Standardrangfolge von / vor + verwendet. Dies entspricht d = b + (c / a). Die Klammern in der Berechnung von e überschreiben die Standardrangfolge.
Trennzeichen
Wie der Name bereits verrät, haben Trennzeichen die Aufgabe, Codeabschnitte voneinander zu trennen. Das Trennzeichen in Visual Basic ist der Doppelpunkt (:). Verwenden Sie Trennzeichen, wenn Sie mehrere Anweisungen in dieselbe Zeile schreiben möchten. Dies spart Platz und erhöht die Lesbarkeit des Codes. Das folgende Beispiel besteht aus drei Anweisungen, die durch Doppelpunkte getrennt sind.
a = 3.2 : b = 7.6 : c = 2
Weitere Informationen finden Sie unter Gewusst wie: Umbrechen und Zusammenfassen von Anweisungen in Code (Visual Basic).
Das Doppelpunktzeichen (:) wird auch verwendet, um eine Anweisungsbezeichnung zu kennzeichnen. Weitere Informationen finden Sie unter Gewusst wie: Label-Anweisungen (Visual Basic).
Verkettung
Verwenden Sie den Operator & für die Verkettung bzw. das Verknüpfen von Zeichenfolgen. Er ist nicht zu verwechseln mit dem Operator +, der numerische Werte addiert. Die Verwendung des Operators + zum Verketten numerischer Werte kann fehlerhafte Ergebnisse zur Folge haben. Das folgende Beispiel veranschaulicht dies.
var1 = "10.01"
var2 = 11
resultA = var1 + var2
resultB = var1 & var2
Nach der Ausführung des vorangehenden Codes ist der Wert von resultA 21.01 und der Wert von resultB "10.0111".
Operatoren für den Memberzugriff
Um auf den Member eines Typs zuzugreifen, wird als Operator zwischen dem Typnamen und dem Membernamen ein Punkt (.) oder ein Ausrufezeichen (!) eingefügt.
Punkt (.) Operator
Verwenden Sie den Operator . für eine Klasse, Struktur, Schnittstelle oder Enumeration als Operator für den Memberzugriff. 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()
Ausrufezeichen (!) Operator
Verwenden Sie den Operator ! nur bei Klassen oder Schnittstellen als Operator für den Wörterbuchzugriff. Die Klasse oder Schnittstelle muss eine Standardeigenschaft aufweisen, die ein einzelnes String-Argument akzeptiert. Der Bezeichner direkt nach dem Operator ! wird zu dem Argumentwert, der der Standardeigenschaft als Zeichenkette übergeben wird. Das folgende Beispiel veranschaulicht dies.
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. In der ersten Zeile wird der herkömmliche Zugriff auf den index der Eigenschaft verwendet, in der zweiten Zeile wird der Umstand genutzt, dass index die Standardeigenschaft der Klasse hasDefault ist, und in der dritten Zeile wird der Dictionaryzugriff auf die Klasse verwendet.
Beachten Sie, dass der zweite Operand des Operators ! ein gültiger Visual Basic-Bezeichner sein muss, der nicht in doppelte Anführungszeichen (" ") eingeschlossen ist. In anderen Worten, Sie können kein Zeichenfolgenliteral und keine Zeichenfolgenvariable verwenden. Durch die folgende Änderung der letzten Zeile im Aufruf von MsgBox wird ein Fehler generiert, da "X" ein in Anführungszeichen eingeschlossenes Zeichenfolgenliteral ist.
"Dictionary access returns " & hD!"X")
Tipp
Verweise auf Standardauflistungen müssen explizit sein. Insbesondere können Sie den Operator ! nicht für eine spät gebundene Variable verwenden.
Das !-Zeichen wird auch als Zeichen für den Single-Typ verwendet.