c# - 为什么 string.Replace ("X","Y") 仅在分配给新字符串时有效?

标签 c# string

我想它必须对字符串作为引用类型做一些事情,但我不明白为什么简单地 string.Replace("X","Y") 不起作用?

为什么我需要执行 string A = stringB.Replace("X","Y")?我认为这只是一种在指定实例上完成的方法。

编辑:到目前为止谢谢你。我扩展了我的问题:为什么 b+="FFF" 有效但 b.Replace 无效?

最佳答案

因为字符串是不可变的。每当您更改字符串时,.net 都会创建一个新的字符串对象。这是类的属性。

Immutable objects
String Object

关于c# - 为什么 string.Replace ("X","Y") 仅在分配给新字符串时有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2949952/

相关文章:

c# - NUnit 2016 抛出.TypeOf

php 字符串比较,为什么转换为 float

c# - 使用字符串连接构建 XML 有什么不好的地方?

java - 实现基本的字符串压缩

c# - 新的 ASP.NET Web 应用程序的体系结构

c# - 用C#实现Hoey Shamos算法

javascript - 在不使用任何标准 JavaScript 方法的情况下检查字符串是否包含子字符串?

java - 比较两个字符串 s = "ja".concat ("va"); s1=s.intern();与 == 运算符返回 false。为什么?

c# - 将 double 强制转换为 long 更改值

c# - Entities Framework 6 alpha 2 - 异步模式