【发布时间】:2025-12-15 18:25:01
【问题描述】:
我正在尝试按多个标准进行排序,而我必须返回最昂贵汽车的 ID,如果有多辆具有相同值的汽车,则根据制造日期返回最新的汽车。
public int? Exercise7demo(List<Car> cars)
{
if (cars == null)
{
return null;
}
else
{
List<Car> sorted = cars
.OrderByDescending( x => x.SuggestedRetailPrice )
.ThenBy( x => x.ManufacturedDate )
.ToList();
return sorted.ID;
}
}
它卡住了,因为我无法理解为什么它不会返回“排序”。我特别说“无法将类型 System.Collections.Generic.List 显式转换为 'int?'
我错过了什么?请注意,我无法更改公共类型以使其正常工作,我已经想到了,但这是我正在做的在线演示课程的一部分,所以这是设置。
编辑:我应该澄清一下 ID 是原始定义的并且是公共 int 的一部分?声明(抱歉,术语可能不在此处)。出于某种原因,如果我尝试在 return 语句中调用 .ID,它会说它没有定义。那是因为我的 List sorted = cars 声明吗?
谢谢!
【问题讨论】:
-
您发布的代码未返回
List<Car>。这个.ID属性在哪里定义?它也不是List<Car>的成员。 -
见下面的评论。我想我已经覆盖了原来的 List
车,所以不再定义 ID? -
如果您阅读您的代码,您有一个
Car的列表,并且您正在尝试获取特定Car的ID。如果我给你一张写在纸上的汽车清单,然后问“汽车”的ID,你会看着我糊涂吧? -
我想你误会了。我在 EDIT 中添加了澄清信息