Mam IEnumerable<TravelDetails>
i próbuję dodać wartości w for
-pętli do a List<TravelDetails>
. Ciągle otrzymuję błędy.
Błąd 15 Argument 1: nie można dokonać konwersji z „System.Collections.Generic.List” do „TrafficCore.DataObjects.TripDetails” C: \ TrafficNew \ TI 511-Web \ Traffic 2.0 \ 511Traffic \ 511Traffic \ Models \ DrivingTime.cs
Mój kod to
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
}
}
Czy ktoś może mi w tym pomóc.
Dzięki, Pawan
Odpowiedzi:
List<T>.Add
dodaje pojedynczy element. Zamiast tego użyj,List<T>.AddRange
aby dodać wiele wartości.Dodatkowo
List<T>.AddRange
bierze anIEnumerable<T>
, więc nie musisz konwertowaćtripDetails
na aList<TripDetails>
, możesz go przekazać bezpośrednio, np:źródło