Visual Basic - Technik, FAQ, Tricks, Beispiele

Home / Daten / Strings / $

String-Funktionen mit Dollar

Alle Funktionen, die einen String zurückgeben, können entweder mit angehängtem Dollar-Zeichen $ aufgerufen werden, oder eben ohne. Scheinbar machen beide Versionen jeweils das gleiche, daher wird oft das Dollar weggelassen.

Tatsächlich gibt es aber einen Unterschied, das Dollar-Zeichen bestimmt nämlich den Typ des Rückgabewerts: Mit Dollar wird ein echter String zurückgegeben, ohne ein Variant.

Dies kann große Auswirkungen insbesondere auf die Performance haben: So benötigt der folgende Code
Dim s As String
Dim i As Long
s = "Hallo Welt"

For i = 1 To 1000000
  s = Mid(s, 2) & Left(s, 1)
Next i
auf meiner Maschine (600 MHz) 1,9 Sekunden, während
For i = 1 To 1000000
  s = Mid$(s, 2) & Left$(s, 1)
Next i
nur 1,3 Sekunden benötigt, was einer Beschleunigung um fast 50% entspricht! Der Grund ist der, dass VB bei der ersten Version erst einen Variant-Wert erzeugt, und diesen dann in einen String konvertieren muss, bevor er in der Variable abgelegt werden kann.

© Jost Schwider, 12.01.2001-13.01.2001 - http://vb-tec.de/strdollr.htm