Aggiunta dell'elenco <t> .add () un altro elenco


134

Ho un IEnumerable<TravelDetails>e sto provando ad aggiungere i forvalori nel -loop a un List<TravelDetails>. Continuo a ricevere gli errori.

Errore 15 Argomento 1: impossibile convertire da 'System.Collections.Generic.List' a 'TrafficCore.DataObjects.TripDetails' C: \ TrafficNew \ TI 511-Web \ Traffic 2.0 \ 511Traffic \ 511Traffic \ Models \ DrivingTime.cs

Il mio codice è

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

Qualcuno può aiutarmi con questo.
Grazie Pawan


Puoi dire su quale riga si trova l'errore?
R. Martinho Fernandes,

Risposte:


269

List<T>.Addaggiunge un singolo elemento. Utilizzare invece List<T>.AddRangeper aggiungere più valori.

Inoltre, List<T>.AddRangeprende un IEnumerable<T>, quindi non è necessario convertirlo tripDetailsin un List<TripDetails>, puoi passarlo direttamente, ad esempio:

tripDetailsCollection.AddRange(tripDetails);
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.