Si los elementos son de tipo en MyClasslugar de Integer, ¿los copia también, o simplemente los referencia?
Pedro Moreira
66
No funciona con tipos no primitivos. List <StudentClass> copy = new List <StudentClass> (lstStudentClass);
llamativo
44
Funciona con todos los tipos, siempre que lstStudentClasssea IEnumerable<StudentClass>y funcionará. Si experimenta lo contrario, debe proporcionar más información.
Lasse V. Karlsen
1
cuál es el significado de (original); al final
Rahul Chaudhari
1
Usted pasa una colección al constructor de la lista, y el constructor copiará todos los elementos de esa colección en la lista recién creada.
Lasse V. Karlsen
170
Para agregar el contenido de una lista a otra lista que ya existe, puede usar:
targetList.AddRange(sourceList);
Si solo desea crear una nueva copia de la lista, consulte la respuesta de Lasse.
¿La serialización crea una penalización de rendimiento significativa?
Dan Def
0
OK, esto está funcionando bien De las sugerencias anteriores GetRange () no funciona para mí con una lista como argumento ... por lo que endulzar un poco las publicaciones anteriores: (gracias a todos :)
/* Where __strBuf is a string list used as a dumping ground for data */publicList<string> pullStrLst(){List<string> lst;
lst = __strBuf.GetRange(0, __strBuf.Count);
__strBuf.Clear();return( lst );}
mmm ... bueno, algunas de las sugerencias anteriores simplemente no funcionan en Vis 17 He limpiado la mejor respuesta proporcionada ... y bueno, listo ... funciona :)
Jim Stevens
0
Fácil de mapear diferentes conjuntos de listas por linq sin for loop
Respuestas:
Podrías probar esto:
o si está usando C # 3 y .NET 3.5, con Linq, puede hacer esto:
fuente
MyClass
lugar deInteger
, ¿los copia también, o simplemente los referencia?lstStudentClass
seaIEnumerable<StudentClass>
y funcionará. Si experimenta lo contrario, debe proporcionar más información.Para agregar el contenido de una lista a otra lista que ya existe, puede usar:
Si solo desea crear una nueva copia de la lista, consulte la respuesta de Lasse.
fuente
Para una lista de elementos
Si quieres copiar todos los elementos
Si quieres copiar los primeros 3 elementos
fuente
Y esto es si se necesita copiar una sola propiedad a otra lista:
fuente
Este método creará una copia de su lista, pero su tipo debe ser serializable.
Utilizar:
Método:
fuente
OK, esto está funcionando bien De las sugerencias anteriores GetRange () no funciona para mí con una lista como argumento ... por lo que endulzar un poco las publicaciones anteriores: (gracias a todos :)
fuente
Fácil de mapear diferentes conjuntos de listas por linq sin for loop
fuente
Aquí otro método pero es un poco peor en comparación con otro.
fuente
ToList()
directamente?