Ich fürchte, das ist eine sehr dumme Frage, aber mir muss etwas fehlen.
Warum möchte man vielleicht String.Copy (string) verwenden ?
Die Dokumentation sagt die Methode
Erstellt eine neue Instanz von String mit demselben Wert wie ein angegebener String.
Da Zeichenfolgen in .NET unveränderlich sind, bin ich mir nicht sicher, welchen Nutzen diese Methode hat, da ich das denke
string copy = String.Copy(otherString);
würde für alle praktischen Zwecke das gleiche Ergebnis liefern wie
string copy = otherString;
Das heißt, abgesehen von der internen Buchhaltung und der Tatsache, dass das Kopieren nicht ReferenceEquals
auf otherString erfolgt, gibt es keine beobachtbaren Unterschiede. String ist eine unveränderliche Klasse, deren Gleichheit auf Wert und nicht auf Identität basiert. (Dank an @Andrew Hare für den Hinweis, dass meine ursprüngliche Formulierung nicht präzise genug war, um anzuzeigen, dass ich einen Unterschied zwischen Copy
ing und nicht erkannte , aber besorgt über den wahrgenommenen Mangel an nützlichem Unterschied war.)
Wenn ein null
Argument übergeben wird, löst Copy natürlich ein aus ArgumentNullException
, und die "neue Instanz" verbraucht möglicherweise mehr Speicher. Letzteres scheint kaum ein Vorteil zu sein, und ich bin mir nicht sicher, ob der Null-Check groß genug ist, um eine vollständige Kopiermethode zu rechtfertigen.
Vielen Dank.