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

Pawan
quelle
Können Sie sagen, in welcher Zeile der Fehler liegt?
R. Martinho Fernandes
Mögliches Duplikat des Anhängens eines Listeninhalts an eine andere Liste C #
Michael Freidgeim

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);
Chris Schmich
quelle