English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In C# sind Zeichenfolgen eine Abfolge von Zeichen, die zur Darstellung von Text verwendet werden. Sie können Zeichen, Wörter oder lange Absätze, die in doppelten Anführungsstrichen "" angegeben sind, sein. Hier sind einige String-Texte.
"S" "String" "This is a string."
C# bietet den Datentyp String an, um String-Literal zu speichern. Man kann Variablen des Typs String deklarieren und String-Literal zuweisen, wie folgt.
string ch = "S"; string word = "String"; string text = "This is a string.";
Die maximale Größe eines String-Objekts im Speicher ist2GB, etwa10Milliarde Zeichen. Allerdings hängt es in der Praxis weniger von der CPU und dem Speicher des Computers ab.
Es gibt zwei Methoden, um in C# eine Zeichenfolgenvariable zu deklarieren. Verwenden Sie die Klasse System.String und das Schlüsselwort string. Beide sind gleich und es gibt keinen Unterschied zwischen ihnen.
string str1 = "Hello"; // Verwenden Sie das Zeichenfolge-Schlüsselwort String str2 = "Hello"; // Verwenden Sie die Klasse System.String
In C# sind Zeichenfolgen eine Sammlung oder ein Array von Zeichen. Daher kann man aus einem char-Array eine Zeichenfolge erstellen und eine Zeichenfolge wie ein char-Array aufrufen.
char[] chars = {'H','e','l','l','o'}; string str1 = new string(chars); String str2 = new String(chars); foreach (char c in str1) { Console.WriteLine(c); }
Texte in der realen Welt können alle Zeichen enthalten. In C# jedoch können Zeichenketten, die in doppelten Anführungsstrichen stehen, nicht das Zeichen (
string text = "This is a "string" in C#.";
C# schließt den Escape-Zeichen \ (Backslash) vor diesen speziellen Zeichen in einem String ein.
string text = "This is a \ string str = "xyzdef\\rabc"; string path = "\\\\mypc\\ shared\\project";
Es ist jedoch sehr mühsam, jeden speziellen Zeichen mit \\
string str = @"xyzdef\rabc"; string path = @"\\mypc\shared\project"; string email = @"[email protected]";
Verwenden Sie @ und \\
string str = @"this is a \", multi line \ string";
Bitte beachten Sie, dass in Strings ein Backslash verwendet werden muss, um doppelte Anführungszeichen "" zu erlauben. Der @-Präfix ist nur für spezielle Zeichen in C# gültig.
string text = @"This is a \ // Fehler string text = @"This is a \ // Fehler string text = "This is a \ // gültig
Mehrere Strings können mit + Verknüpfung mit Operator.
string name = "Mr." + "James " + "Bond" + " Code: 00"7"; string firstName = "James"; string lastName = "Bond"; string code = "007"; string agent = "Mr." + firstName + " " + lastName + " Code: " + code;
Strings sind in C# unveränderlich. Das bedeutet, sie sind schreibgeschützt und können nach ihrer Erstellung im Speicher nicht geändert werden. Bei jeder Kettenoperation erstellt der .NET CLR eine neue Speicherposition für den resultierenden String. Daher wird empfohlen, StringBuilder anstelle von Strings zu verwenden, wenn mehr als fünf Strings zusammengefügt werden.
String-Interpolation ist eine bessere Methode zur Verknüpfung von Strings. Wir verwenden+Verknüpft die String-Variable mit dem statischen String.
C#6Enthält ein spezielles Zeichen $, um den String der Interpolation zu kennzeichnen. Der Interpolationsstring ist eine Kombination aus statischen Strings und String-Variablen, wobei die String-Variable in Klammern {} platziert werden sollte.
string firstName = "James"; string lastName = "Bond"; string code = "007"; string fullName = $"Herr. {firstName} {lastName}, Code: {code}";
In den obigen Interpolationsbeispielen steht $ für die Interpolation der Zeichenkette, und {} umfasst die Zeichenkette, die mit der Zeichenkette kombiniert werden soll.
Verwenden Sie zwei große Klammern „{{“ oder „}}“, um { oder } in einer Zeichenkette zu enthalten.