【发布时间】:2014-11-09 06:41:39
【问题描述】:
“字符串在 c# 中是不可变的”是什么意思。我需要一些例子来理解这一点。我找不到一些合适的例子来理解这一点
【问题讨论】:
-
每次更改字符串时,都会生成一个新字符串。您不能更改现有字符串,因此是不可变的。
-
string s = "bob"; s[2] = 'a'是不允许的。您不能更改字符串。这就是“不变性”的含义。 -
@PeteGarafano 不变性的全部意义在于您不能更改字符串。并不是说你可以改变一个字符串然后创建一个新字符串。
-
@Servy 其措辞语义。在幕后,字符串永远不会改变,“改变”字符串的操作会导致返回一个全新的字符串对象。为简单起见,它是一个“新”字符串。
标签: c#