302 votos

¿Cómo copio los artículos de la lista sin foreach?

¿Cómo puedo transferir los elementos contenidos en una List a otro en C# sin usar foreach ?

533voto

Lasse V. Karlsen Puntos 148037

Podrías intentar esto:

List<Int32> copy = new List<Int32>(original);

o si usted está utilizando C# 3 y .NET 3.5, con Linq, puedes hacer esto:

List<Int32> copy = original.ToList();

166voto

Jon Skeet Puntos 692016

Para agregar el contenido de una lista a otra lista ya existente, puede utilizar:

targetList.AddRange(sourceList);

Si sólo quieren crear una nueva copia de la lista, ver respuesta de Lasse.

32voto

Paras Puntos 1104

Para obtener una lista de elementos

List<string> lstTest = new List<string>();
                lstTest.Add("test1");
                lstTest.Add("test2");
                lstTest.Add("test3");
                lstTest.Add("test4");
                lstTest.Add("test5");
                lstTest.Add("test6");

Si desea copiar todos los elementos

lstNew.AddRange(lstTest);

Si desea copiar los primeros 4 elementos

List<string> lstNew = new List<string>();
lstNew = lstTest.GetRange(0, 4);

-9voto

ratty Puntos 3926

Aquí otro método, pero es poco peor en comparación con otros.

List<int> i=original.Take(original.count).ToList();

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X