memberwiseclone是否复制DateTime,或者必须显式设置它

本文关键字:设置 或者 是否 复制 DateTime memberwiseclone | 更新日期: 2023-09-27 18:28:35

我正在大量自定义对象上实现ICloneable。某些对象的类型为DateTime,这是一个结构值。我知道这个值可以使用newDateTime = oldDateTime复制,但如果我在对象上使用MemberwiseClone(),它会自动复制DateTime对象吗?我认为不是,因为DateTime本身并不实现ICloneable

memberwiseclone是否复制DateTime,或者必须显式设置它

DateTime是一种值类型,与int类似。因此,它将被MemberwiseClone()复制。

由于DateTime是值类型,因此它将被复制。

Object.MemberwiseClone方法-MSDN

MemberwiseClone方法通过创建新的对象,然后将当前对象的非静态字段复制到新对象如果字段是值类型,则字段如果字段是引用类型,则引用为已复制但引用的对象未被复制;因此,原始对象和它的克隆引用相同的对象。