Auf jeder Website, die sich mit VBScript befasst, wird der ' &
' ist als Operator für die Verkettung von Zeichenfolgen aufgeführt. In einem Code, den ich kürzlich geerbt habe, sehe ich jedoch den ' +
' verwendet, und ich sehe keine Fehler als Folge davon. Ist dies eine akzeptierte Alternative?
Antworten
Zu viele Anzeigen?El &
Operator führt eine String-Verkettung durch, d.h. er erzwingt die Umwandlung von Operanden in Strings (wie der Aufruf von CStr
zuerst auf ihnen). +
erzwingt seinerseits die Addition, wenn einer der Ausdrücke numerisch ist. Zum Beispiel:
1 & 2
gibt Ihnen 12
in der Erwägung, dass
1 + 2
"1" + 2
1 + "2"
Sie erhalten 3
.
Es wird daher empfohlen, Folgendes zu verwenden &
für die Verkettung von Zeichenketten, da sie Mehrdeutigkeiten ausschließt.
In einigen Fällen löst das + eine Ausnahme aus, zum Beispiel die folgende:
Sub SimpleObject_FloatPropertyChanging(fvalue, cancel)
'fvalue is a floating point number
MsgBox "Received Event: " + fvalue
End Sub
Sie erhalten eine Ausnahme, wenn die COM-Objektquelle das Ereignis auslöst - Sie müssen einen der folgenden Schritte ausführen:
MsgBox "Received Event: " & fvalue
o
MsgBox "Received Event: " + CStr(fvalue)
In beiden Fällen kann es am besten sein, die CStr(value)
aber die Verwendung von & gemäß den obigen Kommentaren für die String-Verkettung ist fast immer die beste Praxis.