Liste Ekleme <t> .add () başka bir liste


134

Ben bir IEnumerable<TravelDetails>ve ben- fordöngü içine vals eklemek için çalışıyorum bir List<TravelDetails>. Hataları almaya devam ediyorum.

Hata 15 Bağımsız Değişken 1: 'System.Collections.Generic.List' adresinden 'TrafficCore.DataObjects.TripDetails' C: \ TrafficNew \ TI 511-Web \ Traffic 2.0 \ 511Traffic \ 511Traffic \ Models \ DrivingTime.cs dosyasına dönüştürülemiyor

Kodum

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

Bazıları bana bu konuda yardımcı olabilir mi?
Teşekkürler, Pawan


Hatanın hangi satırda olduğunu söyleyebilir misiniz?
R. Martinho Fernandes

Yanıtlar:


269

List<T>.Addtek bir öğe ekler. Bunun yerine, List<T>.AddRangebirden çok değer eklemek için kullanın .

Ayrıca, List<T>.AddRangebir sürer IEnumerable<T>sen dönüştürmek gerek kalmaz, tripDetailsbir içine List<TripDetails>, sen doğrudan örn bunu geçirebilirsiniz:

tripDetailsCollection.AddRange(tripDetails);
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.