Heim >Backend-Entwicklung >C++ >Warum funktioniert meine C# String.Replace () -Methode nicht?
Ausgabe:
Unerwartetes Verhalten bei Verwendung von C#String.Replace()
Methode zum Ändern einer Zeichenfolge. Der Ersatz scheint nicht wirksam zu werden.
Beispiel:
<code class="language-csharp">string filePath = "C:\Users\Desktop\Project\bin\Debug"; filePath.Replace("\bin\Debug", "\Resources\People"); </code>
Ergebnis:
filePath
bleibt unverändert nach dem Aufrufen Replace()
.
Erläuterung:
Zeichenfolgen in C# sind unveränderlich. Methoden wie Replace()
ändern Sie die ursprüngliche Zeichenfolge nicht. Sie retreiben eine neue Zeichenfolge mit den Änderungen. Die ursprüngliche Zeichenfolge bleibt unberührt.
Lösung:
, um die Zeichenfolge korrekt zu aktualisieren, das Ergebnis der -Methode neu zuweisen: Replace()
<code class="language-csharp">filePath = filePath.Replace("\bin\Debug", "\Resources\People");</code>Dies erstellt eine neue Zeichenfolge, die den Ersatz und die Aktualisierung
enthält, um auf diesen neuen Zeichenfolge zu verweisen. filePath
Unveränderlichkeit verstehen:
Denken Sie daran, C# Strings sind unveränderlich. Jede Operation, die anscheinend eine Zeichenfolge ändern scheint, erstellt tatsächlich ein neues String -Objekt. Dies ist entscheidend für das Gedächtnismanagement und die Leistungsüberlegungen.Das obige ist der detaillierte Inhalt vonWarum funktioniert meine C# String.Replace () -Methode nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!