2010-11-24 21 views

Respuesta

155

DateTime es un tipo de valor (struct).

Esto significa que el siguiente crea una copia:

DateTime toBeClonedDateTime = DateTime.Now; 

DateTime cloned = toBeClonedDateTime; 
+9

+1 Para especificar que es un tipo de estructura/valor. –

7

DateTime es un tipo de valor así que cada vez que lo asigne a una nueva variable que está clonando.

DateTime foo = DateTime.Now; 
DateTime clone = foo; 
19
var original = new DateTime(2010, 11, 24); 
var clone = original; 

DateTime es un tipo de valor, por lo que cuando le asigna también clonarlo. Dicho esto, no tiene sentido clonarlo porque es inmutable; normalmente solo clonarías algo si tuvieras la intención de cambiar una de las copias.

+0

+1 de acuerdo. La forma en que solucioné el problema fue crear un nuevo objeto DateTime y simplemente copiar las partes necesarias que quería clonar, como (día, mes, año) desde el objeto datetime original y luego configurar la hora manualmente para el nuevo objeto. .. como ejemplo. – Dal

Cuestiones relacionadas