Freigeben über


Grundlagen zu Zeichenfolgen in Visual Basic

Aktualisiert: November 2007

Der String-Datentyp stellt eine Reihe von Zeichen dar (von denen jedes eine Instanz des Char-Datentyps darstellt). In diesem Thema werden die grundlegenden Konzepte von Zeichenfolgen in Visual Basic vorgestellt.

Zeichenfolgenvariablen

Die Instanz einer Zeichenfolge kann einem 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:

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 einer String-Variablen zugewiesene Literal muss in Anführungszeichen ("") eingeschlossen werden. Dies bedeutet, dass ein Anführungszeichen in einer Zeichenfolge nicht durch ein Anführungszeichen dargestellt werden kann. Beispielsweise verursacht der folgende Code einen Compilerfehler:

Dim myString As String

' This line would cause an error.
' myString = "He said, "Look at this example!""

Dieser Code verursacht einen Fehler, weil der Compiler die Zeichenfolge nach dem zweiten Anführungszeichen beendet und der Rest der Zeichenfolge als Code interpretiert wird. Um dieses Problem zu beheben, interpretiert Visual Basic zwei Anführungszeichen in einem Zeichenfolgenliteral als ein Anführungszeichen in einer Zeichenfolge. Das folgende Beispiel demonstriert die richtige Verwendung eines Anführungszeichens in einer Zeichenfolge:

' The value of myString is: He said, "Look at this example!"
myString = "He said, ""Look at this example!"""

Im vorherigen Beispiel wird aus den beiden Anführungszeichen vor dem Wort Look ein einziges Anführungszeichen in der Zeichenfolge. Die drei Anführungszeichen am Ende der Zeile stellen ein Anführungszeichen in der Zeichenfolge und das Endzeichen der Zeichenfolge dar.

Zeichen in Zeichenfolgen

Sie können sich eine Zeichenfolge als eine Reihe von Char-Werten vorstellen. Der Datentyp String verfügt über integrierte Funktionen, mit denen Sie Bearbeitungen an Zeichenfolgen ausführen können, die den durch Arrays ermöglichten Bearbeitungen ähneln. Diese Arrays sind wie alle Arrays in .NET Framework nullbasierte Arrays. Mithilfe der Chars-Eigenschaft können Sie auf ein bestimmtes Zeichen in der Zeichenfolge verweisen. Dies bietet Ihnen die Möglichkeit, auf ein Zeichen anhand der Position zuzugreifen, an der es in der Zeichenfolge angeordnet ist. Beispiel:

Dim myString As String = "ABCDE"
Dim myChar As Char
' The value of myChar is "C".
myChar = myString.Chars(3)

Im oben stehenden Beispiel gibt die Chars-Eigenschaft der Zeichenfolge das vierte Zeichen in der Zeichenfolge (D) zurück und weist diesem myChar zu. Mit der Length-Eigenschaft können Sie darüber hinaus die Länge einer bestimmten Zeichenfolge ermitteln. Wenn Sie mehrere, der Bearbeitung von Arrays ähnliche Bearbeitungen einer Zeichenfolge ausführen müssen, können Sie die Zeichenfolge mit der ToCharArray-Funktion der Zeichenfolge in ein Array von Char-Instanzen konvertieren. Beispiel:

Dim myString As String = "abcdefghijklmnop"
Dim myArray As Char() = myString.ToCharArray

Die Variable myArray enthält jetzt ein Array von Char-Werten, von denen jeder ein Zeichen aus myString darstellt.

Unveränderlichkeit von Zeichenfolgen

Eine Zeichenfolge ist unveränderlich, d. h., ihr Wert kann nach der Erstellung nicht mehr verändert werden. Dies verhindert jedoch nicht das Zuweisen mehrerer Werte an eine Zeichenfolgenvariable. Betrachten Sie hierzu folgendes Beispiel:

Dim myString As String = "This string is immutable"
myString = "Or is it?"

In diesem Beispiel wird eine Zeichenfolgenvariable erstellt, dieser ein Wert zugewiesen und anschließend der Wert geändert.

Außerdem wird in der ersten Zeile eine Instanz vom Typ String erstellt und dieser der Wert This string is immutable zugewiesen. In der zweiten Zeile des Beispiels wird eine neue Instanz erstellt und dieser der Wert Or is it? zugewiesen. Die Zeichenfolgenvariable verwirft ihren Verweis auf die erste Instanz und speichert einen Verweis auf die neue Instanz.

Im Unterschied zu anderen systeminternen Datentypen ist String ein Verweistyp. Wenn eine Verweistypvariable als Argument an eine Funktion oder Unterroutine übergeben wird, wird statt des tatsächlichen Werts der Zeichenfolge ein Verweis auf die Speicheradresse übergeben, an der die Daten gespeichert sind. Im vorherigen Beispiel ändert sich der Name der Variablen also nicht, aber er verweist auf eine neue und andere Instanz der String-Klasse, die den neuen Wert enthält.

Siehe auch

Referenz

String-Datentyp (Visual Basic)

Char-Datentyp (Visual Basic)

Weitere Ressourcen

Einführung in Zeichenfolgen in Visual Basic

Grundlegende Zeichenfolgenoperationen