恐怕这是一个非常愚蠢的问题,但是我必须缺少一些东西。
为什么要使用String.Copy(string)?
文件说方法
创建一个新的String实例,该实例的值与指定的String相同。
由于.NET中字符串是不可变的,因此我不确定使用此方法有什么好处,因为我认为
string copy = String.Copy(otherString);
出于所有实际目的,似乎会产生与
string copy = otherString;
也就是说,除了正在进行的内部簿记操作之外,以及不ReferenceEquals
将副本复制到otherString的事实之外,没有明显的区别-String是一个不变的类,其相等性基于值而不是标识。(感谢@Andrew Hare指出我最初的措词不够精确,无法表明我意识到Copy
ing和not之间存在差异,但担心被认为缺乏有用的差异。)
当然,当传递null
参数时,Copy会抛出一个ArgumentNullException
,并且“新实例”可能会消耗更多的内存。后者似乎几乎没有好处,而且我不确定null检查是否有足够大的奖金来保证使用整个Copy方法。
谢谢。