Menambahkan Daftar <t> .add () daftar lainnya

138

Saya punya IEnumerable<TravelDetails>dan saya mencoba menambahkan katup di for-loop ke a List<TravelDetails>. Saya terus mendapatkan kesalahan.

Galat 15 Argumen 1: tidak dapat mengubah dari 'System.Collections.Generic.List' ke 'TrafficCore.DataObjects.TripDetails' C: \ TrafficNew \ TI 511-Web \ Traffic 2.0 \ 511Traffic \ 511Traffic \ Models \ DrivingTime.cs

Kode saya adalah

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

Bisakah seseorang membantu saya dengan ini.
Terima kasih, Pawan

Pawan
sumber
Dapatkah Anda mengetahui di baris mana kesalahan tersebut?
R. Martinho Fernandes
Kemungkinan duplikat dari Tambahkan Daftar Isi ke Daftar C # lainnya
Michael Freidgeim

Jawaban:

279

List<T>.Addmenambahkan satu elemen. Sebagai gantinya, gunakan List<T>.AddRangeuntuk menambahkan beberapa nilai.

Selain itu, List<T>.AddRangememerlukan IEnumerable<T>, jadi Anda tidak perlu mengubahnya tripDetailsmenjadi List<TripDetails>, Anda dapat meneruskannya secara langsung, misalnya:

tripDetailsCollection.AddRange(tripDetails);
Chris Schmich
sumber