返回值不是此实例的独立副本;它是 只是对同一数据的另一种观点。使用Copy或CopyTo方法 创建一个单独的String对象,其值与此实例的值相同。
因为Clone方法只返回现有的字符串实例, 没有理由直接调用。
我理解String是一个引用类型,这意味着在调用字符串时你只能获得对字符串对象的引用。
因此为什么存在String.Clone()?这是什么目的?
答案 0 :(得分:2)
这很有用,因为string实现了ICloneable,所以你可以创建一个 ICloneable项目集合的克隆副本。这很无聊 当集合只是字符串时,但是它很有用 集合包含多个实现ICloneable的类型。如 复制单个字符串没有用,因为它按设计返回 提及自己。
参考:what's the use of string.Clone()?
Clone()方法返回对正在克隆的字符串的引用。 它不是堆上字符串的独立副本。这是另一个参考 在相同的字符串上。
答案 1 :(得分:1)
也许只是为了实现ICloneable
接口。请参阅ICloneable.Clone Method。
此外,ICloneable
界面似乎已过时: