添加List <t> .add()另一个列表</t>

时间:2011-04-15 01:23:21

标签: c# .net linq

我有一个IEnumerable<TravelDetails>,我正在尝试将for - 循环中的值添加到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 个答案:

答案 0 :(得分:241)

List<T>.Add添加了一个元素。相反,请使用List<T>.AddRange添加多个值。

此外,List<T>.AddRange需要IEnumerable<T>,因此您无需将tripDetails转换为List<TripDetails>,您可以直接传递,例如:

tripDetailsCollection.AddRange(tripDetails);