C#中的集合类是.NET框架提供的一组内置数据结构,用于存储和操作对象。这些集合类为程序员提供了灵活且高效的方式来处理数据。本篇将详细讲解C#中的三种主要集合类:ArrayList、Stack和Queue,并通过实例代码进行演示。 1. ArrayList ArrayList是.NET框架早期版本中的动态数组,它可以容纳任何类型的对象。ArrayList使用动态增长的数组实现,允许在运行时添加、删除和修改元素。以下是一个ArrayList的实例: ```csharp using System; using System.Collections; namespace 动态数组ArrayList { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); // 创建一个ArrayList a1.Add(100); // 添加元素 a1.AddRange(new int[6] { 9, 3, 7, 2, 4, 8 }); // 批量添加元素 a1.Remove(3); // 删除指定元素 a1.RemoveAt(3); // 删除指定索引的元素 ArrayList al2 = new ArrayList(a1.GetRange(1, 3)); // 获取子集并创建新ArrayList // 遍历ArrayList Console.WriteLine("遍历方法1:"); foreach (int i in a1) { Console.WriteLine(i); } Console.WriteLine("遍历方法2:"); for (int i = 0; i < al2.Count; i++) { Console.WriteLine(al2[i]); } Console.ReadLine(); } } } ``` 2. Stack Stack是一个后进先出(LIFO)的数据结构,常用于实现调用堆栈或临时存储一系列对象。以下展示了如何使用Stack: ```csharp using System; using System.Collections; namespace Stack集合类 { class Program { static void Main(string[] args) { Stack s1 = new Stack(); // 创建一个Stack foreach (int i in new int[4] { 1, 2, 3, 4 }) { s1.Push(i); // 元素入栈 } // 输出栈内元素 foreach (int i in s1) { Console.WriteLine(i); } s1.Pop(); // 出栈 Console.WriteLine("出栈"); foreach (int i in s1) { Console.WriteLine(i); } int num = (int)s1.Peek(); // 查看栈顶元素但不移除 Console.WriteLine("弹出最后一项{0}", num); // 再次输出栈内元素 foreach (int i in s1) { Console.WriteLine(i); } Console.ReadLine(); } } } ``` 3. Queue Queue是一种先进先出(FIFO)的数据结构,类似于现实生活中的队列。Queue常用于实现任务队列或消息队列等。以下展示了Queue的用法: ```csharp using System; using System.Collections; namespace Queue集合类 { class Program { static void Main(string[] args) { Queue q1 = new Queue(); // 创建一个Queue foreach (int i in new int[4] { 1, 2, 3, 4 }) { q1.Enqueue(i); // 元素入队 } // 输出队列内元素 foreach (int i in q1) { Console.WriteLine(i); } q1.Dequeue(); // 出队 Console.WriteLine("出队"); foreach (int i in q1) { Console.WriteLine(i); } int num = (int)q1.Peek(); // 查看队首元素但不移除 Console.WriteLine("查看队首元素{0}", num); // 再次输出队列内元素 foreach (int i in q1) { Console.WriteLine(i); } Console.ReadLine(); } } } ``` 这三种集合类是C#中最基础的数据结构,它们在处理不同场景的数据时有着各自的优势。ArrayList适用于需要快速访问和修改元素的场合;Stack适用于需要按后进先出顺序处理数据的情况,如递归;而Queue则适用于按先进先出顺序处理数据的场景,例如任务调度。在.NET Framework的后续版本中,引入了泛型集合,如List<T>、Stack<T>和Queue<T>,它们提供了更强的类型安全性和性能,但在老项目中,ArrayList仍然有其应用价值。
































- 粉丝: 7
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于MATLAB的数字通信系统仿真方案设计书.doc
- 大数据集群-hadoop的安全防护.docx
- 普通高中计算机信息安全实践教学研究.docx
- 计算机网络信息安全及对策.doc
- 简论信息化对社会经济的影响.docx
- 论大数据下企业财务会计向管理会计的转型.docx
- 中小型企业实施网络精准营销的方法研究-上下文推广.docx
- 虚拟化技术在计算机机房管理中的应用策略分析.docx
- 基于网络化的职业英语教学模式探索.docx
- 智能家居防盗报警系统设计方案-智建社区.docx
- PLC的花样喷泉控制系统设计方案PLC的花样喷泉控制.doc
- VB程序设计第四章-基本的控制结构.ppt
- SCLCD控制器控制TFT彩屏接口设计.ppt
- 单片机控制无刷直流电机驱动系统设计方案新.doc
- 实验室管理经验交流材料信息与通信工程科技专业资料.ppt
- 模糊层次分析法在计算机网络安全评价中的运用.doc


