Wahrscheinlich System.String
. Aber um mehr nützliche Informationen zu liefern:
System.String
Instanzen sind unveränderbar. Die Verkettung / Teilzeichenkette / etc erzeugt tatsächlich neue Zeichenkettenobjekte, daher ist die Verwendung einer Zeichenketteninstanz als Puffer zum Aufbau der Ausgabe eine wirklich schlechte Idee, falls Sie das tun würden. Denken Sie an System.String
als const CString
. System.Text.StringBuilder
wird zum Erstellen und Bearbeiten von Zeichenfolgeninhalten verwendet. Es hat eine .ToString()
-Methode, die Sie aufrufen können, um den Inhalt in eine richtige Zeichenfolge umzuwandeln. char[]
als eine Art String-Builder-Alternative verwenden, wenn Sie genau wissen, wie lang eine generierte Zeichenfolge sein wird. Trotzdem können Sie new StringBuilder(length)
verwenden, um eine Standard-Anfangskapazität anzugeben. Sie können dann die entsprechenden Append-Methoden verwenden, ohne eine Indexvariable zu behalten. ( StringBuilder
macht das für Sie.) Wie Billy in der anderen Antwort auf diese Frage erwähnt hat, hat C # das Schlüsselwort string
, das im Wesentlichen eine Verknüpfung zum System.String
-Typ ist. Beide sind vollständig äquivalent, obwohl die meisten Programmierer LARTEN, wenn Sie das Großbuchstabe verwenden.
Sie können versuchen, String zu verwenden, und sehen, ob es hilft.
Weißt du, CString
ist nicht gerade ein leuchtendes Beispiel für das richtige OO-Design. MS fügte ihm so lange Mitgliedsfunktionen hinzu, bis es wie ein Schweizer Taschenmesser aussah ... und trotzdem wichtige Funktionen fehlten.
Alles, was Sie mit einem CString tun können, kann besser mit dem unveränderlichen 'System.String' und einer Anzahl von Support-Klassen erledigt werden.