我有一个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
}
}
有人可以帮我解决这个问题 谢谢, 爬完
答案 0 :(得分:241)
List<T>.Add
添加了一个元素。相反,请使用List<T>.AddRange
添加多个值。
此外,List<T>.AddRange
需要IEnumerable<T>
,因此您无需将tripDetails
转换为List<TripDetails>
,您可以直接传递,例如:
tripDetailsCollection.AddRange(tripDetails);