恐怕這是一個非常愚蠢的問題,但我必須錯過一些東西。.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