我今天读到,在 C# 中,字符串是不可变的,就像一旦创建它们就不能更改,那么下面的代码是如何工作的
string str="a";
str +="b";
str +="c";
str +="d";
str +="e";
console.write(str) //output: abcde
变量的值怎么变了??
最佳答案
字符串对象是不可变的,但变量可以重新分配。
您创建了单独的对象
a
ab
abc
abcd
abcde
这些不可变字符串中的每一个都依次分配给变量 str。
你不能改变一个字符串的内容(里面的字符)。
改变变量是完全不同的事情。
关于c# - 如果字符串在 C# 中是不可变的,我为什么要这样做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6921097/