3

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

4

2 回答 2

5

DateTime是一个值类型,例如int. 因此,它将被 MemberwiseClone() 复制。

于 2013-08-22T15:28:48.117 回答
3

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

Object.MemberwiseClone 方法 - MSDN

MemberwiseClone 方法通过创建一个新对象,然后将当前对象的非静态字段复制到新对象来创建一个浅拷贝。如果字段是值类型,则执行该字段的逐位复制。如果字段是引用类型,则复制引用但不复制引用的对象;因此,原始对象及其克隆引用同一个对象。

于 2013-08-22T15:30:03.300 回答