Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der String
Datentyp stellt eine Reihe von Zeichen dar (jeweils eine Instanz des Char
Datentyps). In diesem Thema werden die grundlegenden Konzepte von Zeichenfolgen in Visual Basic vorgestellt.
Zeichenfolgenvariablen
Einer Instanz einer Zeichenfolge kann ein Literalwert zugewiesen werden, der eine Reihe von Zeichen darstellt. Beispiel:
Dim MyString As String
MyString = "This is an example of the String data type"
Eine String
-Variable kann auch einen beliebigen Ausdruck annehmen, der eine Zeichenfolge ergibt. Beispiele sind unten dargestellt:
Dim OneString As String
Dim TwoString As String
OneString = "one, two, three, four, five"
' Evaluates to "two".
TwoString = OneString.Substring(5, 3)
OneString = "1"
' Evaluates to "11".
TwoString = OneString & "1"
Jedes Literal, das einer String
Variablen zugewiesen ist, muss in Anführungszeichen ("") eingeschlossen werden. Dies bedeutet, dass ein Anführungszeichen innerhalb einer Zeichenfolge nicht durch ein Anführungszeichen dargestellt werden kann. Der folgende Code verursacht beispielsweise einen Compilerfehler:
Dim myString As String
' This line would cause an error.
' myString = "He said, "Look at this example!""
Dieser Code verursacht einen Fehler, da der Compiler die Zeichenfolge nach dem zweiten Anführungszeichen beendet und der Rest der Zeichenfolge als Code interpretiert wird. Zur Lösung dieses Problems interpretiert Visual Basic zwei Anführungszeichen in einem Zeichenfolgenliteral als ein Anführungszeichen in der Zeichenfolge. Im folgenden Beispiel wird die richtige Methode zum Einfügen eines Anführungszeichens in eine Zeichenfolge veranschaulicht:
' The value of myString is: He said, "Look at this example!"
myString = "He said, ""Look at this example!"""
Im vorherigen Beispiel werden die beiden Anführungszeichen, die vor dem Wort Look
stehen, zu einem Anführungszeichen in der Zeichenfolge. Die drei Anführungszeichen am Ende der Zeile stellen ein Anführungszeichen in der Zeichenfolge und das Abschlusszeichen der Zeichenfolge dar.
String-Literale können mehrere Zeilen enthalten.
Dim x = "hello
world"
Die resultierende Zeichenfolge enthält Zeilenumbruchsequenzen, die Sie in Ihrem Zeichenfolgenliteral (vbcr, vbcrlf usw.) verwendet haben. Sie müssen die alte Problemumgehung nicht mehr verwenden:
Dim x = <xml><![CDATA[Hello
World]]></xml>.Value
Zeichen in Zeichenfolgen
Eine Zeichenfolge kann als Eine Reihe von Char
Werten betrachtet werden, und der String
Typ verfügt über integrierte Funktionen, mit denen Sie viele Manipulationen für eine Zeichenfolge ausführen können, die den manipulationen ähnelt, die von Arrays zulässig sind. Wie alle Arrays in .NET Framework sind dies nullbasierte Arrays. Sie können über die Chars
Eigenschaft auf ein bestimmtes Zeichen in einer Zeichenfolge verweisen, das eine Möglichkeit bietet, auf ein Zeichen durch die Position zuzugreifen, an der es in der Zeichenfolge angezeigt wird. Beispiel:
Dim myString As String = "ABCDE"
Dim myChar As Char
' The value of myChar is "D".
myChar = myString.Chars(3)
Im obigen Beispiel gibt die Chars
Eigenschaft der Zeichenfolge das vierte Zeichen in der Zeichenfolge zurück, das heißt D
, und weist sie zu myChar
. Sie können auch die Länge einer bestimmten Zeichenfolge über die Length
Eigenschaft abrufen. Wenn Sie mehrere Arraytypmanipulationen für eine Zeichenfolge ausführen müssen, können Sie sie mithilfe Char
der Funktion der Zeichenfolge in ein Array von ToCharArray
Instanzen konvertieren. Beispiel:
Dim myString As String = "abcdefghijklmnop"
Dim myArray As Char() = myString.ToCharArray
Die Variable myArray
enthält nun ein Array von Char
Werten, die jeweils ein Zeichen aus myString
darstellen.
Die Unveränderlichkeit von Zeichenfolgen
Eine Zeichenfolge ist unveränderlich, was bedeutet, dass der Wert nicht mehr geändert werden kann, nachdem sie erstellt wurde. Dadurch wird jedoch nicht verhindert, dass Sie einer Zeichenfolgenvariablen mehrere Werte zuweisen. Betrachten Sie das folgenden Beispiel:
Dim myString As String = "This string is immutable"
myString = "Or is it?"
Hier wird eine Zeichenfolgenvariable mit einem Wert erstellt und anschließend der Wert geändert.
Genauer gesagt wird in der ersten Zeile eine Instanz des Typs String
erstellt und erhält den Wert This string is immutable
. In der zweiten Zeile des Beispiels wird eine neue Instanz erstellt und erhält den Wert Or is it?
, und die Zeichenfolgenvariable verwirft ihren Verweis auf die erste Instanz und speichert einen Verweis auf die neue Instanz.
Im Gegensatz zu anderen intrinsischen Datentypen ist String
ein Verweistyp. Wenn eine Variable des Bezugstyps als Argument an eine Funktion oder Unterroutine übergeben wird, wird ein Verweis auf die Speicheradresse, an die die Daten gespeichert werden, anstelle des tatsächlichen Werts der Zeichenfolge übergeben. Im vorherigen Beispiel bleibt der Name der Variablen also gleich, verweist jedoch auf eine neue und andere Instanz der String
Klasse, die den neuen Wert enthält.