Nar*_*dra 0 c# string immutability
这个问题的答案提到immutable
了string
有助于实现字符串实习的特征.
任何人都可以解释一下,不可改变的特性有助于实现实习吗?
如果String
是一个可变类型,它根本无法实现.如果它们可以被变异,那么保留一个对象池是没有意义的......你将无法依赖你从池中得到的是你感兴趣的字符串(至少在你使用它的时候) .
想像:
string x = "foo";
string y = "foo";
// x and y are references to the same object...
x.MutateTo("bar"); // This doesn't change which object y refers to...
Console.WriteLine(y); // This would have to print "bar" - eek!
Run Code Online (Sandbox Code Playgroud)