当前位置: 首页 > news >正文

c# 倒序方法

在C#中,有几种方法可以对List进行倒序排列:

1. 使用List的Reverse()方法(原地反转)

 
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Reverse(); // 直接修改原列表
// 结果:5, 4, 3, 2, 1

2. 使用OrderByDescending()(不修改原列表,返回新序列)

 
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var reversed = numbers.OrderByDescending(n => n).ToList();
// 结果:5, 4, 3, 2, 1

3. 使用Array.Reverse()(先转换为数组)

 
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
int[] array = numbers.ToArray();
Array.Reverse(array);
List<int> reversedList = new List<int>(array);
// 结果:5, 4, 3, 2, 1

4. 自定义倒序(使用循环)

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
List<int> reversed = new List<int>();
for (int i = numbers.Count - 1; i >= 0; i--)
{
reversed.Add(numbers[i]);
}
// 结果:5, 4, 3, 2, 1

性能比较

  • Reverse()方法是最直接且性能最好的方式,因为它直接在原列表上操作
  • OrderByDescending()会创建新的序列,适合需要保留原列表的情况
  • 自定义循环方法在大多数情况下性能不如内置方法

注意事项

  • Reverse()方法会直接修改原列表
  • 如果需要保留原列表,应该先创建副本再反转
  • 对于复杂对象列表,反转操作只影响引用顺序,不会影响对象本身

选择哪种方法取决于你的具体需求:是否需要修改原列表、是否需要保留原列表、性能考虑等。

相关文章:

  • 数据结构(八)——查找
  • 2025-5-14渗透测试:利用Printer Bug ,NTLMv2 Hash Relay(中继攻击),CVE-2019-1040漏洞复现
  • 环境配置与MySQL简介
  • css设置文字两端对齐text-align:justify不起作用的解决方法
  • C++之fmt库介绍和使用(1)
  • 【数据分析】从TCGA下载所有癌症的多组学数据
  • 【SSL证书系列】SSL证书工作原理解读
  • 开发者的测试复盘:架构分层测试策略与工具链闭环设计实战
  • 【电路笔记 通信】8B/10B编码 高速数据传输的串行数据编码技术 论文第三部分 The 8B/10B coding map
  • 论文查询的ai工具 —— SCAICH
  • ISP有感自发
  • 数据结构基础排序算法
  • MCP(一)——QuickStart
  • JS中的数据类型
  • 计算机视觉----基础概念、卷积
  • 【Docker】Windows10环境下安装DockerDesktop
  • Spring Boot requestBody postman
  • Math工具类全面指南
  • 深入理解Java适配器模式:从接口兼容到设计哲学
  • 前端最新面试题及答案 (2025)
  • 昆明警方重拳打击经济领域违法犯罪:去年抓获905名嫌犯
  • 王征、解宁元、牛恺任西安市副市长
  • 京东美团饿了么等外卖平台被约谈
  • 马上评丨岂能为流量拿自己的生命开玩笑
  • 印称印巴军事行动总指挥同意将局势降级
  • 马上评丨为护士减负,不妨破除论文“硬指标”