2009-11-24 15 views
15

Ho notato in C# c'è un metodo per Elenchi: Copia -> che copia negli array, c'è un modo più bello per copiare in un nuovo elenco? il problema è che voglio recuperare l'elenco in base al valore per poter rimuovere gli elementi prima di visualizzarli, non voglio che l'elenco originale venga modificato, anche quello non sembra essere facilmente raggiungibile, qualche idea?come copiare un elenco in un nuovo elenco o recuperare l'elenco in base al valore C#

risposta

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

Modifica di un elemento della lista (non aggiungendo o rimuovendo) ancora impatti sia liste ... – Zoop

0

Hai provato a clonare (Clona()) ogni elemento e ad aggiungere il clone a una nuova raccolta?

0

Se si utilizza .NET 3.5, l'array risultante può avere ToList() chiamato su di esso.

1

Basta creare un nuovo List e utilizzare il costruttore appropriato:

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

penso che questo funzionerà. Passare una lista al costruttore di una nuova lista.

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

voglio recuperare l'elenco in base al valore di essere in grado di rimuovere gli elementi prima di visualizzarli,

var newlist = oldList.Where(<specify condition here>).ToList(); 
Problemi correlati