web-dev-qa-db-ja.com

List <t> .add()別のリストを追加する

IEnumerable<TravelDetails>があり、for- loopの値をList<TravelDetails>に追加しようとしています。エラーが発生し続けます。

エラー15引数1: 'System.Collections.Generic.List'から 'TrafficCore.DataObjects.TripDetails'に変換できませんC:\ TrafficNew\TI 511-Web\Traffic 2.0\511Traffic\511Traffic\Models\DrivingTime.cs

私のコードは

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

誰かがこれを手伝ってくれますか?.
ありがとう、パワン

121
Pawan

List<T>.Add は、単一の要素を追加します。代わりに、 List<T>.AddRange を使用して複数の値を追加します。

さらに、List<T>.AddRangeIEnumerable<T>を取るため、tripDetailsList<TripDetails>に変換する必要はありません。直接渡すことができます。例:

tripDetailsCollection.AddRange(tripDetails);
243
Chris Schmich