Erstellen neuer Zeichenfolgen

Aktualisiert: November 2007

.NET Framework ermöglicht mit einer einfachen Zuweisung das Erstellen von Zeichenfolgen und überlädt gleichzeitig einen Klassenkonstruktor, um das Erstellen von Zeichenfolgen mit einer Reihe verschiedener Parameter zu unterstützen. .NET Framework stellt ebenfalls mehrere Methoden in der System.String-Klasse zur Verfügung, mit denen neue Zeichenfolgenobjekte erstellt werden, indem verschiedene Zeichenfolgen, Arrays von Zeichenfolgen oder Objekte kombiniert werden.

Zeichenfolgen mit einer Zuweisung erstellen

Der einfachste Weg zum Erstellen eines neuen String-Objekts besteht aus dem einfachen Zuweisen eines Zeichenfolgenliterals zu einem String-Objekt.

Zeichenfolgen mit einem Klassenkonstruktor erstellen

Sie können Überladungen des String-Klassenkonstruktors verwenden, um Zeichenfolgen aus Zeichenarrays zu erstellen. Sie können eine neue Zeichenfolge auch erstellen, indem Sie ein bestimmtes Zeichen mit einer festgelegten Häufigkeit duplizieren.

Methoden, die Zeichenfolgen zurückgeben

In der folgenden Tabelle sind mehrere nützliche Methoden aufgeführt, die neue Zeichenfolgenobjekte zurückgeben.

Methodenname

Verwendung

String.Format

Erstellt aus einer Reihe von Eingabeobjekten eine formatierte Zeichenfolge.

String.Concat

Erstellt Zeichenfolgen aus zwei oder mehreren Zeichenfolgen.

String.Join

Erstellt eine neue Zeichenfolge, indem ein Array von Zeichenfolgen kombiniert wird.

String.Insert

Erstellt eine neue Zeichenfolge, indem eine Zeichenfolge in den angegebenen Index einer bestehenden Zeichenfolge eingefügt wird.

String.CopyTo

Kopiert die angegebenen Zeichen in einer Zeichenfolge an die angegebene Position in einem Zeichenarray.

Format

Mit der String.Format-Methode können Sie formatierte Zeichenfolgen erstellen und Zeichenfolgen verketten, die mehrere Objekte darstellen. Diese Methode konvertiert automatisch alle übergebenen Objekte in eine Zeichenfolge. Wenn in der Anwendung beispielsweise ein Int32-Wert und ein DateTime-Wert für den Benutzer angezeigt werden sollen, können Sie mit der Format-Methode problemlos eine Zeichenfolge erstellen, die diese Werte darstellt. Weitere Informationen zu Formatierungskonventionen für diese Methode finden Sie im Abschnitt Kombinierte Formatierung.

Im folgenden Beispiel wird mit der Format-Methode eine Zeichenfolge erstellt, die eine ganzzahlige Variable verwendet.

Dim numberOfFleas As Integer = 12
Dim miscInfo As String = String.Format("Your dog has {0} fleas. " & _
                                       "It is time to get a flea collar. " & _ 
                                       "The current universal date is: {1:u}.", _ 
                                       numberOfFleas, Date.Now)
Console.WriteLine(miscInfo)
' The example displays the following output:
'       Your dog has 12 fleas. It is time to get a flea collar. 
'       The current universal date is: 2008-03-28 13:31:40Z.
int numberOfFleas = 12;
string miscInfo = String.Format("Your dog has {0} fleas. " +
                                "It is time to get a flea collar. " + 
                                "The current universal date is: {1:u}.", 
                                numberOfFleas, DateTime.Now);
Console.WriteLine(miscInfo);
// The example displays the following output:
//       Your dog has 12 fleas. It is time to get a flea collar. 
//       The current universal date is: 2008-03-28 13:31:40Z.

In diesem Beispiel zeigt DateTime.Now das aktuelle Datum und die aktuelle Uhrzeit entsprechend der mit dem aktuellen Thread verknüpften Kultur an.

Concat

Mit der String.Concat-Methode können Sie auf einfache Weise ein neues Zeichenfolgenobjekt aus zwei oder mehreren bestehenden Objekten erstellen. Sie stellt eine sprachunabhängige Methode zur Verkettung von Zeichenfolgen dar. Diese Methode akzeptiert jede Klasse, die von System.Object ableitet. Im folgenden Beispiel wird eine Zeichenfolge aus zwei vorhandenen Zeichenfolgenobjekten und einem Trennzeichen erstellt.

Dim helloString1 As String = "Hello"
Dim helloString2 As String = "World!"
Console.WriteLine(String.Concat(helloString1, " "c, helloString2))
' The example displays the following output:
'      Hello World!
string helloString1 = "Hello";
string helloString2 = "World!";
Console.WriteLine(String.Concat(helloString1, ' ', helloString2));
// The example displays the following output:
//      Hello World!

Join

Mit der String.Join-Methode wird aus einem Array von Zeichenfolgen und einer aus Trennzeichen bestehenden Zeichenfolge eine neue Zeichenfolge erstellt. Diese Methode ist hilfreich, wenn Sie mehrere Zeichenfolgen verketten möchten, etwa in einer durch Kommas getrennten Liste.

Im folgenden Beispiel wird ein Leerzeichen verwendet, um ein Zeichenfolgenarray zu binden.

Dim words() As String = {"Hello", "and", "welcome", "to", "my" , "world!"}
Console.WriteLine(String.Join(" ", words))
' The example displays the following output:
'      Hello and welcome to my world!
string[] words = {"Hello", "and", "welcome", "to", "my" , "world!"};
Console.WriteLine(String.Join(" ", words));
// The example displays the following output:
//      Hello and welcome to my world!

Insert

Mit der String.Insert-Methode wird eine neue Zeichenfolge erstellt, indem eine Zeichenfolge an einer bestimmten Position in eine andere Zeichenfolge eingefügt wird. Diese Methode verwendet einen nullbasierten Index. Im folgenden Beispiel wird eine Zeichenfolge an der fünften Indexposition von MyString eingefügt und mit diesem Wert eine neue Zeichenfolge erstellt.

Dim sentence As String = "Once a time."   
 Console.WriteLine(sentence.Insert(4, " upon"))
 ' The example displays the following output:
 '      Once upon a time.
string sentence = "Once a time.";   
 Console.WriteLine(sentence.Insert(4, " upon"));
 // The example displays the following output:
 //      Once upon a time.

CopyTo

Mit der String.CopyTo-Methode werden Teile einer Zeichenfolge in ein Zeichenarray kopiert. Sie können sowohl den Startindex der Zeichenfolge als auch die Anzahl der zu kopierenden Zeichen angeben. Diese Methode nimmt den Quellindex, ein Zeichenarray, den Zielindex und die Anzahl der zu kopierenden Zeichen an. Alle Indizes sind nullbasiert.

Im folgenden Beispiel wird die CopyTo-Methode verwendet, um die Zeichen des Begriffs "Hello" aus einem Zeichenfolgenobjekt an die erste Indexposition eines Zeichenarrays zu kopieren.

Dim greeting As String = "Hello World!"
Dim charArray() As Char = {"W"c, "h"c, "e"c, "r"c, "e"c}
Console.WriteLine("The original character array: {0}", New String(charArray))
greeting.CopyTo(0, charArray,0 ,5)
Console.WriteLine("The new character array: {0}", New String(charArray))
' The example displays the following output:
'       The original character array: Where
'       The new character array: Hello
string greeting = "Hello World!";
char[] charArray = {'W','h','e','r','e'};
Console.WriteLine("The original character array: {0}", new string(charArray));
greeting.CopyTo(0, charArray,0 ,5);
Console.WriteLine("The new character array: {0}", new string(charArray));
// The example displays the following output:
//       The original character array: Where
//       The new character array: Hello

Siehe auch

Konzepte

Kombinierte Formatierung

Weitere Ressourcen

Grundlegende Zeichenfolgenoperationen