了解C#字符串不變性和Replace()
方法
C#中的字符串操縱有時可能很棘手。 一個共同的陷阱涉及Replace()
方法,並且期望它會修改原始字符串。 讓我們檢查一下這個問題。
考慮此代碼段:
<code class="language-csharp">string path = "C:\Users\Desktop\Project\bin\Debug"; path.Replace(@"\bin\Debug", @"\Resource\People"); Console.WriteLine(path); // Output: C:\Users\Desktop\Project\bin\Debug (Unchanged!)</code>
Replace()
方法不更改原始path
字符串。 為什麼?因為C#中的字符串是不變的。 這意味著它們在創建後無法更改。 Replace()
方法而不是 返回一個新的字符串
另外,您可以直接覆蓋原始變量:
<code class="language-csharp">string path = "C:\Users\Desktop\Project\bin\Debug"; string newPath = path.Replace(@"\bin\Debug", @"\Resource\People"); Console.WriteLine(newPath); // Output: C:\Users\Desktop\Project\Resource\People</code>
記住:C#字符串是不可變的。 似乎修改字符串的任何操作實際上都會創建一個新的字符串對象。 牢記這一點對於編寫有效和正確的C#代碼至關重要。
以上是為什麼C#String.replace()不修改原始字符串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!