129 votes

Ajout de liste <t> .add () une autre liste

J'ai un IEnumerable<TravelDetails> et je suis en train d'ajouter les vallées dans l' for-boucle à un List<TravelDetails>. Je continue à faire des erreurs.

Erreur 15 Argument 1: impossible de convertir de 'Système.Les Collections.Génériques.Liste " à " TrafficCore.DataObjects.TripDetails' C:\TrafficNew\TI 511-Web\Trafic 2.0\511Traffic\511Traffic\Modèles\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
    }
}

Peut quelqu'un m'aider avec cela.
Merci, Pawan

259voto

Chris Schmich Points 16390

List<T>.Add ajoute un seul élément. Utilisez plutôt 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 List<TripDetails> , vous pouvez le transmettre directement, par exemple:

 tripDetailsCollection.AddRange(tripDetails);
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X