You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按索引降序排序C# List<book>集合?

按元素索引降序排序List集合的简洁实现

这里有两种简洁的实现方式,根据你的场景选择:

方法一:通用索引排序法(适用于任何初始顺序的集合)

如果你不确定原集合的元素是否严格按索引递增排列,或者需要明确基于原始索引排序,可以用LINQ结合索引捕获来实现:

var result = books
    .Select((book, index) => new { Book = book, Index = index })
    .OrderByDescending(item => item.Index)
    .Select(item => item.Book)
    .ToList();

说明

  1. 第一个Select方法会同时捕获每个元素及其对应的原始索引;
  2. OrderByDescending按索引值从大到小排序;
  3. 最后一个Select提取出排序后的book对象,转为List<book>。

方法二:反转集合法(适用于原集合按索引递增排列的场景)

如果你的原集合元素是按插入顺序(即索引从0到n-1依次排列),直接反转集合就能得到按索引降序的结果,代码更简洁:

var result = books.AsEnumerable().Reverse().ToList();

说明

Reverse()方法会将集合的元素顺序完全反转,对于初始索引递增的集合,反转后就等价于按索引从高到低排列,完全符合你的预期结果。

内容的提问来源于stack exchange,提问作者Carrie Kaski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 16:55:46