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

方法对 ArrayList 中的元素进行排序的基本示例

C# 教程C# 教程

C# ArrayList - Sort() 方法更新于 2025/6/8 12:52:17

C# ArrayList 的 Sort() 方法用于对 ArrayList 中的元素或 ArrayList 的一部分进行排序。

语法

以下是 C# ArrayList 的 Sort() 方法的语法 -

此语法将对整个 ArrayList 中的元素进行排序。

public virtual void Sort();

此语法将使用指定的比较函数对整个 ArrayList 中的元素进行排序。

public virtual void Sort(System.Collections.IComparer? comparer);

此语法将使用指定的比较函数对 ArrayList 中一定范围内的元素进行排序。

public virtual void Sort(int index, int count, System.Collections.IComparer? comparer);

参数

此方法根据所有重载方法接受以下参数 -

返回值

此方法不返回任何值。其返回类型为 void。

示例 1:对整个 ArrayList 进行排序

以下是使用 Sort() 方法对 ArrayList 中的元素进行排序的基本示例 -

using System; using System.Collections; class Program { static void Main() { ArrayList arrayList = new ArrayList { 3, 2, 5, 1, 4}; Console.Write("Before Sort: "); foreach (var item in arrayList) { Console.Write(item + " "); } arrayList.Sort(); Console.Write("After Sort: "); foreach(var item in arrayList){ Console.Write(item + " "); } } }

输出

以下是输出 -

Before Sort: 3 2 5 1 4 After Sort: 1 2 3 4 5

示例 2:对 ArrayList 中的字符串进行排序

以下示例创建了一个包含一些元素的 ArrayList。然后我们使用 Sort() 方法对 ArrayList 中的元素进行排序 -

using System; using System.Collections; class Program { static void Main() { ArrayList arrayList = new ArrayList { "The", "quick", "brown", "fox", "jumps", "over", "the" }; Console.Write("Before Sort: "); foreach (var item in arrayList) { Console.Write(item + " "); } arrayList.Sort(); Console.Write("After Sort: "); foreach(var item in arrayList) { Console.Write(item + " "); } } }

输出

以下是输出 -

Before Sort: The quick brown fox jumps over the After Sort: brown fox jumps over quick the The

示例 3:使用比较器进行排序

在此示例中,我们有一个 ArrayList,并使用带有比较器的 sort() 方法对 ArrayList 进行降序排序 -

using System; using System.Collections; class DesComparer : IComparer { public int Compare(object x, object y) { return ((int)y).CompareTo((int)x); } } class Program { static void Main() { ArrayList list = new ArrayList() { 5, 2, 8, 1, 3 }; Console.WriteLine("Before Sorting:"); foreach (var item in list) { Console.Write(item + " "); } list.Sort(new DesComparer()); Console.WriteLine("After Sorting:"); foreach (var item in list) { Console.Write(item + " "); } } }

输出

以下是输出 -

Before Sorting: 5 2 8 1 3 After Sorting: 8 5 3 2 1

示例 4:按范围排序

以下示例展示了如何使用 Sort() 方法中的默认比较器对 ArrayList 中元素范围内的值进行排序 -

using System; using System.Collections; public class SamplesArrayList3 { public static void Main() { // 创建并初始化一个新的 ArrayList。 ArrayList myAL = new ArrayList(); myAL.Add("The"); myAL.Add("QUICK"); myAL.Add("BROWN"); myAL.Add("FOX"); myAL.Add("jumps"); Console.WriteLine("ArrayList 最初包含以下值:"); PrintIndexAndValues(myAL); myAL.Sort(1, 3, null); Console.WriteLine("使用默认比较器从索引 1 到索引 3 排序后:"); PrintIndexAndValues(myAL); } public static void PrintIndexAndValues(IEnumerable myList) { int i = 0; foreach (Object obj in myList) Console.WriteLine(" [{0}]: {1}", i++, obj); Console.WriteLine(); } }

输出

以下是输出 -

ArrayList 最初包含以下值: [0]: The [1]: QUICK [2]: BROWN [3]: FOX [4]: jumps 使用默认比较器从索引 1 到索引 3 排序后: [0]: The [1]: BROWN [2]: FOX [3]: QUICK [4]: jumps

csharp_arraylist.html

C# 教程C# 教程

颜色选择器

读后有收获微信请站长喝咖啡

×错误报告

如果您发现内容有误或提出修改建议,请随时向我们发送 E-mail 邮件:

421660149@qq.com

您的建议:

×感谢您的帮助!

您的建议已发送到 W3schools。

w3schools.cn 中文网是独立运营的中文开发者学习平台,与 W3Schools.com 无关联。提供的内容仅用于学习和测试,不保证内容的正确性。

http://www.cnnetsun.cn/news/3633924.html

相关文章:

  • Kubernetes集群部署预检实战指南
  • Windows系统下Dify开源AI工具安装与部署指南
  • 射电天文RFI实时检测系统:AI驱动的高效干扰识别方案
  • AI智能体手机技术架构与开发实践全解析
  • 复赛权益到账:300次TraeCN账户Fast Pass
  • Windows Defender完全移除终极指南:3种模式提升系统性能50%
  • UE4 Shipping模式日志消失问题:原理分析与四种解决方案
  • Linux进程管理:从原理到容器化实践
  • Linux进程控制:fork、exit与wait系统调用详解
  • 清华系AI大模型核心技术解析与应用实践
  • 当NPC开始质疑玩家指令——多智能体涌现行为监控体系(NASA仿真验证过的异常检测算法首次开源)
  • AI智能生成实习总结系统设计与实践
  • AI技术解决服装电商尺码问题:从OCR到多语言生成
  • AI产品出海韩国:技术适配与本地化实践
  • AI工具如何提升本科开题报告写作效率与质量
  • 华硕笔记本性能优化神器G-Helper:5分钟让你的电脑焕然一新![特殊字符]
  • GitHub趋势榜揭示开发者新焦点:AI编程、Agent与基础设施优化
  • 分布式事务方案对比:Saga、TCC、XA 在生产环境中的性能与一致性全景复盘
  • 智能采购AI系统架构设计与实现解析
  • 供应链的分布式事务处理:跨仓库调拨的最终一致性方案
  • YOLOv10n与ADown模块在工业安全检测中的应用优化
  • AI转行者必学:Ubuntu系统Docker安装与AI开发环境配置实战
  • 深入解析ARM Cortex-M UART中断FIFO配置与寄存器管理实战
  • Windows打印服务故障:PrintConfig.dll丢失修复指南
  • Qwen2.5-7B模型自我认知微调实战
  • MySQL配置中的隐形杀手:零宽度空格排查实录
  • LSTM-Adaboost-ABKDE多变量时间序列预测框架解析
  • AMD Ryzen处理器深度调试终极指南:免费开源工具SMUDebugTool完整使用教程
  • 大语言模型安全对齐:分布差异估计的统一框架
  • AI驱动的学术文献引用自动化:6大实战策略解析