我有一个IEnumerable<TravelDetails>,我正在try 将for循环中的值添加到List<TravelDetails>.我不断地犯错误.

错误15参数1:无法从‘System.Collections.Generic.List’转换为‘TrafficCore.DataObjects.TripDetails’C:\TrafficNew\TI511-WEB\TrafficCore.DataObjects.TripDetails‘C:\TrafficNew\TI511-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
    }
}

有人能帮我这个忙吗?
谢谢, 巴湾

推荐答案

List<T>.Add添加一个元素.相反,使用List<T>.AddRange可以添加多个值.

此外,List<T>.AddRange需要IEnumerable<T>,因此您不需要将tripDetails转换为List<TripDetails>,您可以直接传递它,例如:

tripDetailsCollection.AddRange(tripDetails);

.net相关问答推荐

从没有流的EventStore中读取流不存在异常

如何在AutoMapper中添加自定义方法到项目中?

如何使用AWS Lambda函数制作网络挂钩?

Azure SignalR 和微服务

AppShell - 返回导航失败,匹配的路由不明确......但我只注册了一次路由

为什么 ULong > 16 位的数学会变得不稳定?

仅在有换行符时捕获分隔符之间的所有文本

无法使用 int.Parse 从字符串转换值

在一个 LINQ 查询中获取两列的总和

抛出 ArgumentNullException

File.ReadAllLines() 和 File.ReadAllText() 有什么区别?

使用多个 MemoryCache 实例

DateTime.TryParseExact() 拒绝有效格式

C# 属性实际上是方法吗?

是否可以更改 Winforms 组合框以禁用输入?

如何使用 Android 使用 WCF 服务

根据条件从列表中删除项目

我可以将构造函数参数传递给 Unity 的 Resolve() 方法吗?

NServiceBus 与 MassTransit

Linq Query 不断抛出无法创建 System.Object 类型的常量值......,为什么?