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

问题描述

| 我有一个
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
    }
}
有人可以帮我弄这个吗。 谢谢, 帕万     

解决方法

List<T>.Add
添加一个元素。而是使用
List<T>.AddRange
添加多个值。 另外,
List<T>.AddRange
需要
IEnumerable<T>
,因此您无需将
tripDetails
转换为
List<TripDetails>
,您可以直接传递它,例如:
tripDetailsCollection.AddRange(tripDetails);