至少有一个对象必须实现icomparable
本文关键字:实现 icomparable 一个对象 | 更新日期: 2023-09-27 17:53:42
我正在尝试排序列表。
这行抛出异常:;
List<DistanceInfo> ListedDuration =
Distances.OrderBy(o => o.Rows[0].Elements.OrderBy(e => e.Distance))
.ToList();
但是,这是有效的:
List<DistanceInfo> ListedDuration =
Distances.OrderBy(o => o.Rows[0].Elements[0].Distance)
.ToList();
我们来看一下:
List<DistanceInfo> ListedDuration = Distances.OrderBy(
o => o.Rows[0].Elements.OrderBy(e => e.Distance)
).ToList();
我们排序的东西是:
o => o.Rows[0].Elements.OrderBy(e => e.Distance)
表示;对每项o
按排序,序列按距离o.Rows[0].Elements.OrderBy(e => e.Distance)
排序。这说不通啊。如何比较两个序列,如{1,3,4}
和{1,8}
?
List<DistanceInfo> ListedDuration = Distances.OrderBy(
o => o.Rows[0].Elements[0].Distance
).ToList();
List<DistanceInfo> ListedDuration = Distances.OrderBy(
o => o.Rows[0].Elements.Min(e => e.Distance)
).ToList();
List<DistanceInfo> ListedDuration = Distances.OrderBy(
o => o.Rows[0].Elements.Max(e => e.Distance)
).ToList();
让我们看看下面,对于这个问题,我已经尝试了相同的查询使用下面的两个顺序,对我有效
List<DistanceInfo> ListedDuration = Distances.OrderBy(o =>
o.Rows[0].Elements[0].Distance).OrderBy(o => o.Rows[0].Elements[0].Distance
).ToList();