Heim >Backend-Entwicklung >C++ >Warum aktualisiert `String.Replace` meinen String -Wert in C#nicht?
Verständnis der unveränderlichen Zeichenfolgen von C#und string.Replace
Das Verhalten von string.Replace
in C# führt oft zu Verwirrung. Der Schlüssel ist zu verstehen, dass Zeichenfolgen in C# unveränderlich sind. Dies bedeutet, dass sein Wert nicht geändert werden kann, sobald eine Zeichenfolge erstellt wurde.
Die Methode string.Replace
ändert nicht die ursprüngliche Zeichenfolge. Stattdessen gibt es eine neue String mit den erstellten Ersatz zurück. Aus diesem Grund lässt einfach string.Replace
ohne das Ergebnis die ursprüngliche Zeichenfolge unverändert.
korrigieren Sie den Code:
Um die angegebenen Änderungen anzuzeigen, müssen Sie das Ergebnis von string.Replace
der ursprünglichen String -Variablen zurückweisen. Es gibt zwei Möglichkeiten, dies zu tun:
Die ursprüngliche Variable neu zuweisen:
<code class="language-csharp">someTestString = someTestString.Replace(someID.ToString(), sessionID);</code>
Diese aktualisiert direkt someTestString
mit dem modifizierten String.
einer neuen Variablen zuweisen:
<code class="language-csharp">string newString = someTestString.Replace(someID.ToString(), sessionID);</code>
Dies erstellt eine neue String -Variable newString
, die die modifizierte Zeichenfolge enthält. Verwenden Sie newString
in Zukunft.
Warum Unveränderlichkeit?
Die Unveränderlichkeit String ist eine Designauswahl, die die Vorhersehbarkeit und Sicherheit der Code verbessert. Es verhindert unerwartete Nebenwirkungen und erleichtert das Debuggen. Da Zeichenfolgen unveränderlich sind, können mehrere Teile Ihres Codes dieselbe Zeichenfolge verwenden, ohne sich Sorgen zu machen, dass sich ein Teil versehentlich für einen anderen ändern kann. Methoden wie Replace
, Remove
und Insert
erstellen und geben Sie immer neue Zeichenfolgen zurück und geben Sie die Integrität der ursprünglichen Zeichenfolge bei.
Das obige ist der detaillierte Inhalt vonWarum aktualisiert `String.Replace` meinen String -Wert in C#nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!