【发布时间】:2018-06-06 07:51:30
【问题描述】:
我有一个列表,我想从中选择第五高的元素:
List<int> list = new List<int>();
list.Add(2);
list.Add(18);
list.Add(21);
list.Add(10);
list.Add(20);
list.Add(80);
list.Add(23);
list.Add(81);
list.Add(27);
list.Add(85);
但OrderbyDescending 不适用于此int 列表...
【问题讨论】:
-
请参阅stackoverflow.com/q/21726334/613130,了解正在发生的事情。
-
请注意,通过使用
OrderBy,您正在将 O(N) 操作转换为 O(NlogN) 操作。 -
@Fabjan
OrderBy不会“订购”list。它返回一个有序的IEnumerable<>。他可能在做list.OrderByDescending(x => x);,没有任务。 -
@xanatos 如果 OP 添加了一个 minimal complete and verifiable example 会很好,他会在其中显示他 尝试 做什么以及究竟是什么不起作用
-
如果有可能,您应该指定当元素少于 4 个时要执行的操作。