Jeśli elementy są typu MyClasszamiast Integer, to czy kopiuje je również, czy tylko je odwołuje?
Pedro Moreira,
5
Nie działa z nietypowymi typami. List <StudentClass> copy = new List <StudentClass> (lstStudentClass);
krzykliwy
4
Działa ze wszystkimi typami, tak długo jak lstStudentClassjest IEnumerable<StudentClass>, będzie działać. W przeciwnym razie musisz podać więcej informacji.
Lasse V. Karlsen
1
jakie jest znaczenie (oryginalne); na koniec
Rahul Chaudhari,
1
Przekazujesz kolekcję konstruktorowi listy, a następnie konstruktor skopiuje wszystkie elementy tej kolekcji do nowo utworzonej listy.
Lasse V. Karlsen,
170
Aby dodać zawartość jednej listy do innej, która już istnieje, możesz użyć:
targetList.AddRange(sourceList);
Jeśli chcesz tylko utworzyć nową kopię listy, zobacz odpowiedź Lasse.
Czy serializacja powoduje znaczny spadek wydajności?
Dan Def
0
OK, to działa dobrze Z powyższych sugestii GetRange () nie działa dla mnie z listą jako argumentem ... więc trochę osłabiając nieco z postów powyżej: (dziękuję wszystkim :)
/* 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 cóż, niektóre powyższe sugestie po prostu nie działają w Vis 17 Wyczyściłem najlepszą odpowiedź pod warunkiem ... i hej presto ... to działa :)
Jim Stevens
0
Łatwo zmapować inny zestaw list według linq bez pętli
Odpowiedzi:
Możesz spróbować:
lub jeśli używasz C # 3 i .NET 3.5, z Linq, możesz to zrobić:
źródło
MyClass
zamiastInteger
, to czy kopiuje je również, czy tylko je odwołuje?lstStudentClass
jestIEnumerable<StudentClass>
, będzie działać. W przeciwnym razie musisz podać więcej informacji.Aby dodać zawartość jednej listy do innej, która już istnieje, możesz użyć:
Jeśli chcesz tylko utworzyć nową kopię listy, zobacz odpowiedź Lasse.
źródło
Aby uzyskać listę elementów
Jeśli chcesz skopiować wszystkie elementy
Jeśli chcesz skopiować pierwsze 3 elementy
źródło
Dzieje się tak, jeśli konieczne jest skopiowanie jednej właściwości na inną listę:
źródło
Ta metoda utworzy kopię listy, ale typ powinien być możliwy do serializacji.
Posługiwać się:
Metoda:
źródło
OK, to działa dobrze Z powyższych sugestii GetRange () nie działa dla mnie z listą jako argumentem ... więc trochę osłabiając nieco z postów powyżej: (dziękuję wszystkim :)
źródło
Łatwo zmapować inny zestaw list według linq bez pętli
źródło
Tutaj inna metoda, ale jest niewiele gorsza w porównaniu do innych.
źródło
ToList()
bezpośrednio?