问题描述
|
我有一个
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);