我有有一个属性在它VehicleId的旅程的一个通用的清单,我想从旅程列表中得到不同的车辆ID列表的LINQ选择不同
我已经尝试使用以下:
Journeys.Select(j => new { j.FleetVehicleId }).Distinct();
,但我所遇到的
Expression cannot contain lambda expressions
错误有谁知道我在做什么错在这里或如何做到这正常吗?
我有有一个属性在它VehicleId的旅程的一个通用的清单,我想从旅程列表中得到不同的车辆ID列表的LINQ选择不同
我已经尝试使用以下:
Journeys.Select(j => new { j.FleetVehicleId }).Distinct();
,但我所遇到的
Expression cannot contain lambda expressions
错误有谁知道我在做什么错在这里或如何做到这正常吗?
我认为你正试图调试代码到快速监视窗口和结果你得到这个错误。
您不能将lambda表达式调试到快速监视窗口中。尝试在调用lambda表达式后调试代码。例如:
var testing = Journeys.Select(j => j.FleetVehicleId).Distinct();
// debug testing value here, after lambda expression runs
代码似乎没问题。
怎么样:
Journeys.Select(j => j.FleetVehicleId).Distinct();
这不是一个lambda? –
您可以在正常的C#代码中使用Select()中的lambdas。请参阅lante的评论。 – dthorpe
我可以想象问题出现了,如果Journeys不是可枚举的,那么它就是一个可查询的对象。然后独特的操作“反编译”表达式。问题中的构造包含一个匿名对象,它可以创建更多的错误来源 – user287107
我认为你正试图在快速监视下运行你的代码,结果你得到了那个错误。你不能将lambda表达式调试到快速观察窗口。尝试将您的代码注入调试。你的代码似乎没问题,但我会纠正它,并将其更改为Journeys.Select(j => j.FleetVehicleId).Distinct(); – lante
谢谢@lante,这是因为我试图调试它,看看我得到了什么。如果你把答案,我可以标记它 – Pete
完成,感谢你 – lante