tôi có ba hàm đang trả về bộ sưu tập IEnumerable. bây giờ tôi muốn kết hợp tất cả những điều này vào một Danh sách. vì vậy, có phương pháp nào để tôi có thể nối thêm các mục từ IEnumerable vào danh sách không. i có nghĩa là không cho mỗi vòng lặp?Cách thêm bộ sưu tập vô số vào một danh sách hiện có trong C#
15
A
Trả lời
24
Vâng, một cái gì đó sẽ phải lặp .. nhưng trong LINQ bạn có thể dễ dàng sử dụng các phương pháp mở rộng Concat
và ToList
mở rộng:
var bigList = list1.Concat(list2).Concat(list3).ToList();
Lưu ý rằng điều này sẽ tạo ra một danh sách mới thay vì thêm các mục vào một danh sách hiện có hiện có. Nếu bạn muốn thêm họ vào danh sách hiện tại, List<T>.AddRange
có thể là những gì bạn đang theo dõi:
bigList.AddRange(list1);
bigList.AddRange(list2);
bigList.AddRange(list3);
4
Nếu bạn đã có một danh sách:
list.AddRange(yourCollectionToAppend);
Nếu bạn có 2 enumerables và chưa tạo danh sách được nêu ra:
firstCollection.Concat(secondCollection).ToList();