Hinzufügen von List <t> .add () einer anderen Liste


134

Ich habe eine IEnumerable<TravelDetails>und ich versuche, die forWerte in der Schleife zu einer hinzuzufügen List<TravelDetails>. Ich bekomme immer die Fehler.

Fehler 15 Argument 1: Konvertierung von 'System.Collections.Generic.List' in 'TrafficCore.DataObjects.TripDetails' nicht möglich. C: \ TrafficNew \ TI 511-Web \ Traffic 2.0 \ 511Traffic \ 511Traffic \ Models \ DrivingTime.cs

Mein Code ist

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
    }
}

Kann mir jemand dabei helfen?
Danke, Pawan


Können Sie sagen, in welcher Zeile der Fehler liegt?
R. Martinho Fernandes

Antworten:


268

List<T>.Addfügt ein einzelnes Element hinzu. Verwenden Sie stattdessen, List<T>.AddRangeum mehrere Werte hinzuzufügen.

Nimmt außerdem List<T>.AddRangeein IEnumerable<T>, damit Sie nicht tripDetailsin ein konvertieren müssen List<TripDetails>, können Sie es direkt übergeben, z.

tripDetailsCollection.AddRange(tripDetails);
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.