首頁 >後端開發 >C++ >為什麼不修改C#中的原始字符串?

為什麼不修改C#中的原始字符串?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-30 07:36:09292瀏覽

Why Doesn't `String.Replace` Modify the Original String in C#?

了解C#的不變字符串和String.Replace

>

> 在C#中,字符串是不變的。 這意味著一旦創建了字符串對象,就無法更改其值。 因此,該方法不會修改原始字符串;相反,IT String.Replace返回了一個帶有替代品的新字符串。 > 這通常會導致混亂。 只需將

的結果分配回到原始變量

出現String.Replace什麼都不做,因為它正在創建一個新的字符串對象並將其引用分配給原始變量名稱。 正確使用

> 為了實現所需的修改,您必須明確將返回的字符串重新分配到原始變量:String.Replace 這將覆蓋原始字符串變量的引用,並引用新創建的,修改的字符串。 或者,您可以將結果分配給一個新變量:

>

>這保留了原始字符串,並允許您分別使用修改版本。 >
<code class="language-csharp">someTestString = someTestString.Replace(someID.ToString(), sessionID);</code>
在所有C#字符串操縱方法中,此行為是一致的,該方法返回新字符串而不是修改適當的情況,包括

>,

和各種子字符串方法。 請記住,弦是不變的。似乎修改字符串的任何操作實際上都會創建一個新的操作。

>

以上是為什麼不修改C#中的原始字符串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn