2011-04-15 28 views
92

Tengo un IEnumerable<TravelDetails> y estoy tratando de agregar los valles en el for -loop a un List<TravelDetails>. Sigo recibiendo los errores.Agregar la lista <t> .add() otra lista

Error 15 Argumento 1: no se puede convertir de 'System.Collections.Generic.List' a C '' TrafficCore.DataObjects.TripDetails: \ TrafficNew \ TI 511-Web \ Tráfico 2.0 \ 511Traffic \ 511Traffic \ Modelos \ DrivingTime.cs

Mi código es

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

¿Puede alguien ayudarme con esto.
Gracias, Pawan

+0

Se puede decir qué línea es el error en? –

Respuesta

195

List<T>.Add agrega un solo elemento. En su lugar, use List<T>.AddRange para agregar valores múltiples.

Además, List<T>.AddRange toma un IEnumerable<T>, por lo que no es necesario para convertir tripDetails en un List<TripDetails>, puede pasar directamente, por ejemplo .:

tripDetailsCollection.AddRange(tripDetails); 
Cuestiones relacionadas