恐怕这是一个非常愚蠢的问题,但我必须错过一些东西。.NET中的System.String.Copy有什么用?
为什么要使用String.Copy(string)?
文档说该方法
创建具有 字符串的一个新实例相同的值指定的字符串。
由于字符串在.NET不可变的,我不知道什么是使用这种方法的好处,因为我认为
string copy = String.Copy(otherString);
会
为所有实用目的似乎产生相同结果作为
string copy = otherString;
也就是说,除了任何内部簿记这回事,复制了不ReferenceEquals
到otherString的事实,有没有细微的差别 - 字符串是一个不可变类其平等基于价值而不是身份。 (感谢@Andrew野兔的指出我原来的措辞是不够准确的,表明我意识到有Copy
ING,而不是之间的差异,但担心被认为缺乏有用差异的。)
当然,当通过null
自变量时,Copy将抛出ArgumentNullException
,并且“新实例”可能会消耗更多内存。后者似乎不是一种好处,而且我不确定空检查是否足够大以保证整个Copy方法。
谢谢。
好吧,愚蠢的问题有很多投票ups ,, – TarunG 2011-07-03 05:10:51