web-dev-qa-db-fra.com

Adding List <t> .add () une autre liste

J'ai un IEnumerable<TravelDetails> et j'essaie d'ajouter les valeurs de la boucle for- à un List<TravelDetails>. Je continue à avoir les erreurs.

Erreur 15 Argument 1: impossible de convertir 'System.Collections.Generic.List' en 'TrafficCore.DataObjects.TripDetails' C:\TraficNew\TI 511-Web\Trafic 2.0\511Traffic\511Traffic\Models\DrivingTime.cs

Mon code est

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

Quelqu'un peut il m'aider avec ça.
Merci, Pawan

123
Pawan

List<T>.Add ajoute un seul élément. À la place, utilisez List<T>.AddRange pour ajouter plusieurs valeurs.

De plus, _List<T>.AddRange_ prend un _IEnumerable<T>_, vous n’avez donc pas besoin de convertir tripDetails en un _List<TripDetails>_, vous pouvez le transmettre directement, par exemple:

_tripDetailsCollection.AddRange(tripDetails);
_
247
Chris Schmich