2011-04-15 92 views
92

我有一个IEnumerable<TravelDetails>,我试图将for中的值添加到List<TravelDetails>。我不断收到错误。添加列表<t> .add()另一个列表

错误15参数1:不能从 'System.Collections.Generic.List' 转换为 'TrafficCore.DataObjects.TripDetails' C:\ TrafficNew \ TI 511的Web \流量2.0 \ 511Traffic \ 511Traffic \模型\ 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 
    } 
} 

有人能帮助我。
谢谢, Pawan

+0

你能告诉什么线是错误的? – 2011-04-15 01:26:08

回答

195

List<T>.Add增加了一个单一的元素。而是使用List<T>.AddRange添加多个值。

此外,List<T>.AddRange需要一个IEnumerable<T>,所以你不需要tripDetails转换成List<TripDetails>,你可以直接通过它,例如:

tripDetailsCollection.AddRange(tripDetails); 
相关问题