Добавление списка <t>.add() другого списка

У меня есть IEnumerable<TravelDetails>, и я пытаюсь добавить vales в for -loop к List<TravelDetails>. Я продолжаю получать ошибки.

Ошибка 15 Аргумент 1: невозможно преобразовать из 'System.Collections.Generic.List' в 'TrafficCore.DataObjects.TripDetails' C:\TrafficNew\TI 511-Web\Traffic 2.0\511Traffic\511Traffic\Models\DrivingTime.cs

Мой код

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
    }
}

Может кто-нибудь мне помочь. Благодаря, Паван

Ответ 1

List<T>.Add добавляет один элемент. Вместо этого используйте List<T>.AddRange, чтобы добавить несколько значений.

Кроме того, List<T>.AddRange принимает IEnumerable<T>, поэтому вам не нужно преобразовывать tripDetails в List<TripDetails>, вы можете передать его напрямую, например:

tripDetailsCollection.AddRange(tripDetails);