我正在编写一个自定义类,它实现了IDictionary
接口,但是我不确定该如何处理CopyTo
方法。应该将每个元素仅复制到目标数组中(浅复制),还是应该对每个元素进行复制/克隆然后将其放入目标数组中(深度复制)?
我正在编写一个自定义类,它实现了IDictionary
接口,但是我不确定该如何处理CopyTo
方法。应该将每个元素仅复制到目标数组中(浅复制),还是应该对每个元素进行复制/克隆然后将其放入目标数组中(深度复制)?
object
的方法,这也将是CopyTo
实现的一部分。NotSupportedException
。如果其他人将使用您的集合,请实现浅复制以与标准.NET库对齐。如果您需要一个深度复制方法,请将其作为单独的方法添加(可能通过实现ICloneable
)。
CopyTo
方法?IEnumerable
没有CopyTo
方法。 - John SaundersICollection
也需要实现,由于 OP 正在实现IDictionary
,我猜他们需要实现ICollection.CopyTo
。 - Asad SaeeduddinIDictionary
浅拷贝。因为元素的类型是object
,你无法知道如何进行深拷贝。 - Enigmativity