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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.