我正在对大量自定义对象实施ICloneable
。某些对象的类型为DateTime
,这是一个struct值。我知道可以使用newDateTime = oldDateTime
复制此值,但如果我在对象上使用MemberwiseClone()
,它是否会自动复制DateTime
个对象?我假设不是因为DateTime
本身没有实现ICloneable
。
答案 0 :(得分:5)
DateTime
是一种值类型,例如int
。因此,它将被MemberwiseClone()复制。
答案 1 :(得分:3)
由于DateTime
是值类型,因此将复制它。
Object.MemberwiseClone Method - MSDN
MemberwiseClone方法通过创建新的方法来创建浅表副本 对象,然后将当前对象的非静态字段复制到 新的对象。 如果字段是值类型,则逐位复制 字段已执行。如果字段是引用类型,则引用为 复制但引用的对象不是;因此,原始对象 它的克隆引用同一个对象。