Se os itens são do tipo em MyClassvez de Integer, eles também são copiados ou apenas os referenciam?
Pedro Moreira
6
Não está funcionando com tipos não primitivos. List <StudentClass> copy = new List <StudentClass> (lstStudentClass);
vistoso
4
Funciona com todos os tipos, desde que lstStudentClassseja um IEnumerable<StudentClass>, funcionará. Se você tiver outra experiência, precisará fornecer mais informações.
Lasse V. Karlsen
1
qual é o significado de (original); no final
Rahul Chaudhari
1
Você passa uma coleção para o construtor da lista, e o construtor copiará todos os elementos dessa coleção para a lista recém-criada.
Lasse V. Karlsen
170
Para adicionar o conteúdo de uma lista a outra lista que já existe, você pode usar:
targetList.AddRange(sourceList);
Se você deseja criar uma nova cópia da lista, consulte a resposta de Lasse.
A serialização cria uma penalidade de desempenho significativa?
11489 Dan Def
0
OK, isso está funcionando bem. Das sugestões acima, GetRange () não funciona para mim com uma lista como argumento ... então, adocico um pouco as postagens acima: (obrigado 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 ... ok bem algumas das sugestões acima simplesmente não fazer o trabalho em Vis 17 eu ter limpado a melhor resposta dada ... e voilá ... ele funciona :)
Jim Stevens
0
Fácil mapear diferentes conjuntos de listas por linq sem for loop
Respostas:
Você pode tentar o seguinte:
ou se você estiver usando C # 3 e .NET 3.5, com Linq, poderá fazer o seguinte:
fonte
MyClass
vez deInteger
, eles também são copiados ou apenas os referenciam?lstStudentClass
seja umIEnumerable<StudentClass>
, funcionará. Se você tiver outra experiência, precisará fornecer mais informações.Para adicionar o conteúdo de uma lista a outra lista que já existe, você pode usar:
Se você deseja criar uma nova cópia da lista, consulte a resposta de Lasse.
fonte
Para uma lista de elementos
Se você deseja copiar todos os elementos
Se você deseja copiar os 3 primeiros elementos
fonte
E isso é necessário para copiar uma única propriedade para outra lista:
fonte
Este método criará uma cópia da sua lista, mas seu tipo deve ser serializável.
Usar:
Método:
fonte
OK, isso está funcionando bem. Das sugestões acima, GetRange () não funciona para mim com uma lista como argumento ... então, adocico um pouco as postagens acima: (obrigado a todos :)
fonte
Fácil mapear diferentes conjuntos de listas por linq sem for loop
fonte
Aqui outro método, mas é um pouco pior comparar com outro.
fonte
ToList()
diretamente?