RSS
StartseiteKnowledge LibraryTop 10Impressum

2.28 Was ist der Unterschied zwischen + und & bei der Zeichenfolgen-Verkettung?

VB2-VB6

Von: Thorsten Dörfler

Schon in VB1 konnte der +-Operator Zeichenfolgen verketten, der &-Operator kam erst mit VB2 extra für Zeichenfolgen hinzu, weil man erkannt hat, dass diese Doppelbedeutung eines Operators Verwirrung stiftet und in Zusammenhang mit VBs impliziter Typkonvertierung auch zu falschen, unerwünschten Ergebnissen kommen kann.

Ein kurzes Beispiel:

Dim s As String
s = "123" + 456
Debug.Print s
=> 579

s = "123" & 456
Debug.Print s
=> 123456

Ohne explizite Konvertierung der Datentypen, kann es also durchaus unerwünschte Folgen haben, wenn man den +-Operator zum Verketten von Zeichenfolgen verwendet, da VB bei solchen Operationen mit Mehrfachbedeutung immer zum Rätselraten genötigt wird, was die interessantesten Folgen haben kann. Insbesondere im Zusammenspiel mit Textfeldern eine sehr beliebte Fehlerquelle.

Zudem gibt es keinen Grund den +-Operator missbrauchen, der mit mathematischen Aufgaben assoziiert ist, wenn speziell für die Verkettung von Zeichenfolgen der &-Operator vorgesehen ist. Dies führt zu besser lesbaren, selbst dokumentierenden Code, weil sofort ersichtlich ist, was der Autor des Codes an dieser Stelle bezwecken möchte. Bei Verwendung des +-Operator bei mathematischen Aufgaben und zur Zeichenfolgen-Verkettung, ist das nicht gegeben.