为什么System.String实现了IClonable接口?

时间:2014-08-04 14:43:11

标签: c#

偶尔我发现string实现了IClonable接口,我想知道为什么,因为字符串是不可变的。此外,我试着猜测它应该如何工作以及克隆字符串会发生什么...我希望它在字符串实习被启用时应该返回相同的字符串引用,并且在它被禁用的情况下创建新对象(我在那种情况下继续这样做)平等运算符不再正常工作 - 这可能就是为什么它没有以这种方式实现的。)

当我从.NET源代码反编译该方法时 - 我发现实现只返回自引用(this指针)而没有任何额外的逻辑。有一个评论:

// Method required for the ICloneable interface.
// There's no point in cloning a string since they're immutable, so we simply return this.

所以.NET团队自己说没有必要调用这种方法。但他们为什么要实施呢?

0 个答案:

没有答案