首页 >后端开发 >C++ >为什么不修改C#中的原始字符串?

为什么不修改C#中的原始字符串?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-30 07:36:09359浏览

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