Suche…


System.String-Klasse

In C # (und .NET) wird eine Zeichenfolge durch die Klasse System.String dargestellt. Das string Schlüsselwort ist ein Alias ​​für diese Klasse.

Die System.String-Klasse ist unveränderlich, dh ihr Zustand kann nach ihrer Erstellung nicht mehr geändert werden.

Alle Vorgänge, die Sie an einer Zeichenfolge ausführen, wie z. B. Unterzeichenfolge, Entfernen, Ersetzen, Verkettung mit dem Operator + , usw., erstellen eine neue Zeichenfolge und geben diese zurück.

Siehe folgendes Programm zur Demonstration -

string str = "mystring";
string newString = str.Substring(3);
Console.WriteLine(newString);
Console.WriteLine(str);

Dadurch werden string und mystring .

Saiten und Unveränderlichkeit

Unveränderbare Typen sind Typen, die bei einer Änderung eine neue Version des Objekts im Speicher erstellen, anstatt das vorhandene Objekt im Speicher zu ändern. Das einfachste Beispiel hierfür ist der integrierte string .

Mit folgendem Code wird "world" an das Wort "Hello" angehängt.

string myString = "hello";
myString += " world";

Was in diesem Fall im Speicher geschieht, ist, dass ein neues Objekt erstellt wird, wenn Sie an die string in der zweiten Zeile anhängen. Wenn Sie dies als Teil einer großen Schleife ausführen, besteht die Möglichkeit, dass dies zu Leistungsproblemen in Ihrer Anwendung führt.

Das veränderbare Äquivalent für einen string ist ein StringBuilder

Nehmen Sie den folgenden Code

StringBuilder myStringBuilder = new StringBuilder("hello");
myStringBuilder.append(" world");

Wenn Sie dies ausführen, ändern Sie das StringBuilder Objekt selbst im Arbeitsspeicher.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow