2009-11-24 319 views
15

Me di cuenta en C# hay un método para Listas: CopyTo -> que copia en matrices, ¿hay alguna manera más agradable de copiar a una nueva ¿lista? El problema es que quiero recuperar la lista por valor para poder eliminar los elementos antes de mostrarlos, no quiero que se modifique la lista original, eso tampoco parece ser posible, ¿alguna idea?cómo copiar una lista a una nueva lista, o recuperarla por valor en C#

Respuesta

26
List<MyType> copy = new List<MyType>(original); 
+0

Modificación de un elemento de la lista (no agregar o quitar) todavía impactos tanto liza... – Zoop

0

¿Ha probado la clonación (clonar()) cada elemento y ha agregado el clon a una nueva colección?

0

Si está utilizando .NET 3.5, la matriz resultante puede tener ToList() llamado.

1

Basta con crear un nuevo List y utilizar el constructor apropiado:

IList<Obj> newList = new List<Obj>(oldList); 
1

creo que esto va a funcionar. Pasar una lista al constructor de una nueva lista.

List<string> list1 = new List<string>(); 
    List<string> list2 = new List<string>(list1); 
3

Quiero recuperar la lista por el valor de ser capaz de eliminar elementos antes de mostrarlos,

var newlist = oldList.Where(<specify condition here>).ToList(); 
Cuestiones relacionadas