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


134

私はを持ってIEnumerable<TravelDetails>いますが、forループ内の値をに追加しようとしてい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
    }
}

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


エラーが発生している行がわかりますか?
R.マルティーニョフェルナンデス

回答:


268

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

また、List<T>.AddRangeかかるIEnumerable<T>あなたが変換する必要はありませんので、tripDetailsList<TripDetails>、あなたは、直接例えばそれを渡すことができます:

tripDetailsCollection.AddRange(tripDetails);
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.