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


Dapatkah Anda mengetahui di baris mana kesalahan tersebut?
R. Martinho Fernandes

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);
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.