Why does String.Clone() returns the original string and not a copy of it?
问题 Surprisingly, String.Clone() doesn't return a copy of a string as String.Copy() would do. Instead, it returns 'this' , the original string. I would like to understand why the .Net Framework team choose to go this way. As per MSDN: The ICloneable interface [...] requires that your implementation of the Clone method return a copy of the current object instance. String.Clone() clearly doesn't follow this guideline. I know that strings are immutable, but if immutability was the reason here,