我有一个IEnumerable<TravelDetails>,我正在尝试将for -loop中的值添加到List<TravelDetails>。我不断收到错误消息。



我的代码是

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);

09-04 05:52