2010-01-08 22 views
14

Si utilizo el siguiente:¿Hace Enumerable.Repeat() una copia profunda?

var myList = Enumerable.Repeat(myCustomObject, 2); 

¿El segundo elemento de la lista sea una copia profunda de la primera?

Nota: myCustomObject puede ser cualquier objeto

Editar: Podría también, por favor hágamelo saber el uso potencial de Enumerable.Repeat cuando se trata de objetos personalizados?

Gracias

+0

puede alguien darme un ejemplo en el que Enumerable.Repeat puede ser útil cuando se trata de objetos personalizados? Gracias –

+0

¿qué quiere decir con "tratar con objetos personalizados"? –

+0

Solo quiero saber cuándo es Enumerable.Repeat potencialmente útil –

Respuesta

14

No, en realidad Enumerable.Repeat repite la exacta misma referencia en el enumerable devuelto - no es una copia. (Verificado a través del reflector)

-Oisin

+6

a menos que el objeto sea de tipo de valor ... –

8

No, Enumerable.Repeat sólo repetirá la referencia, no va a hacer una copia del objeto (a menos que sea un tipo de valor, por supuesto)

Cuestiones relacionadas