Thêm danh sách <t> .add () danh sách khác


134

Tôi có một IEnumerable<TravelDetails>và tôi đang cố gắng thêm các giá trị trong for-loop vào a List<TravelDetails>. Tôi tiếp tục nhận được các lỗi.

Lỗi 15 Đối số 1: không thể chuyển đổi từ 'System.Collections.Generic.List' thành 'TrafficCore.DataObjects.TripDetails' C: \ TrafficNew \ TI 511-Web \ Traffic 2.0 \ 511Traffic \ 511Traffic \ Model \ DrivingTime.cs

Mã của tôi là

List<TripDetails> tripDetailsCollection = new List<TripDetails>();
foreach (DrivingTimeRoute dtr in dtRoutes)
{
    foreach (Trip trip in dtr.Trips)
    {
        foreach (TripPathLink tpl in trip.TripPathLinks)
        {
            tplCollection.Add(tpl);
        }
        IEnumerable<TripDetails> tripDetails = //long Linq-to-Sql here
        List<TripDetails> td = tripDetails.ToList();
        tripDetailsCollection.Add(td); // <<< Error here
    }
}

Ai đó có thể giúp tôi với điều này.
Cảm ơn, Pawan


Bạn có thể cho biết dòng nào là lỗi trên?
— R. Martinho Fernandes

Câu trả lời:


268

List<T>.Addthêm một yếu tố duy nhất. Thay vào đó, sử dụng List<T>.AddRangeđể thêm nhiều giá trị.

Ngoài ra, List<T>.AddRangemất một IEnumerable<T>, vì vậy bạn không cần phải chuyển đổi tripDetailsthành một List<TripDetails>, bạn có thể chuyển trực tiếp, ví dụ:

tripDetailsCollection.AddRange(tripDetails);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.