Mam klasę nadrzędną X i dwie listy klas potomnych X1 i X2 (X1 i X2 pochodzą z X). Czy istnieje prosty sposób na połączenie list X1 i X2 z listą Xs?
Mogłem przerzucić pętlę nad listami X1 i X2 i dodać do listy X, ale wydaje się to trochę uciążliwe.Łączenie list klas potomnych z listami klas nadrzędnych
5
A
Odpowiedz
6
LINQ może to zrobić wygodnie z
var both = list1.Cast<X>().Concat(list2.Cast<X>()).ToList();
lub
var both = ((IEnumerable<X>)list1).Concat((IEnumerable<X>)list2).ToList();
ale mimo to zapętlenie - tylko pod kołdrą.
+0
nie obchodzi mnie pętla, o ile nie muszę pisać za dużo kodu (-: po prostu natknąłem się na ConvertAll również – cs0815
2
Zastosowanie Enumerable.Cast Metoda, jak to:
var list1 = new List<X1>();
var list2 = new List<X2>();
var result = list1.Cast<X>().Concat(list2.Cast<X>()).ToList();
Powiązane problemy
- 1. Listy list z listami
- 2. Kod XCode 4.5 ostrzega o konfliktach nazw metod między kategoriami dla klas nadrzędnych/potomnych
- 3. Jak mogę dziedziczyć niestandardowe klasy z wielu klas nadrzędnych?
- 4. Jak posortować listę klas klas zawierających właściwości?
- 5. Niestandardowa serializacja json klas uporządkowanych klas scala
- 6. suma dwóch list z listami w R
- 7. Zrozumienie listy: tworzenie list z listami
- 8. Jak używać klas wyprowadzonych z listy klas Pythona
- 9. Korzystanie z klas częściowych
- 10. HtmlEncode z biblioteki klas
- 11. marynacie z niestandardowych klas
- 12. Generowanie klas JAXB o niestandardowych nazwach klas
- 13. Unity Rozwiązuj wiele klas
- 14. Jak wygenerować diagram klas z istniejących klas w Netbeans IDE
- 15. W programie Scala łączenie metod obiektów jako metod klas
- 16. Cofnięcie json do klas
- 17. Dziedziczenie klas w Pythonie
- 18. Łączenie list w jeden
- 19. Łączenie list w Haskell
- 20. Podkreślenie, aby spłaszczyć zagnieżdżoną tablicę obiektów nadrzędnych/potomnych
- 21. Łączenie list w R
- 22. Łączenie dwóch list razem
- 23. Generowanie klas Rubinowych z XSD
- 24. Clojure ISeq z klas Scala
- 25. Biblioteka klas z .NET CLI
- 26. Interakcje z C++ klas emscripten
- 27. wybieranie pierwszej z wielu klas
- 28. Konstruktor klas DMD z parametrami
- 29. Testowanie metod klas z pytestem
- 30. Zmiana klas CSS z kodu
można użyć obsady myślę – m4ngl3r
pewien, ale że wymaga pętli. Szukam rozwiązania linq (mniej kodu) – cs0815