在婚恋网站做翻译好吗,婚纱官网,宁远做网站msoer,新闻热点事件arraylist基础总结ArrayList 基础总结一、基本概念ArrayList 是 C# 1.0 引入的非泛型集合#xff0c;位于 System.Collections 命名空间。特点#xff1a;✅ 可以存储任意类型的数据#xff08;object#xff09;✅ 大小动态增长#xff08;自动扩容#xff09;✅ 按索引…arraylist基础总结ArrayList 基础总结一、基本概念ArrayList是 C# 1.0 引入的非泛型集合位于System.Collections命名空间。特点✅ 可以存储任意类型的数据object✅ 大小动态增长自动扩容✅ 按索引访问元素❌ 需要装箱拆箱性能开销❌ 类型不安全运行时可能类型转换错误⚠️已被 ListT 取代二、创建和初始化csharpusing System.Collections; // 1. 创建空 ArrayListArrayList list1 new ArrayList();// 2. 指定初始容量 ArrayList list2 new ArrayList(10); // 3. 从现有集合初始化ArrayList list3 new ArrayList(new int[] { 1, 2, 3 }); // 4. 添加初始元素ArrayList list4 new ArrayList() { A, B, C };三、基本操作1.添加元素csharpArrayList list new ArrayList(); // Add - 添加单个元素list.Add(字符串); list.Add(123); // 装箱 list.Add(45.67);// AddRange - 添加多个元素list.AddRange(new object[] { X, Y, Z });// Insert - 指定位置插入list.Insert(1, 插入的元素);// InsertRange - 指定位置插入多个list.InsertRange(2, new object[] { A, B });2.访问元素csharpArrayList list new ArrayList() { A, B, C, D }; // 索引访问需要类型转换string first (string)list[0];// A // 元素数量int count list.Count;// 4 // 当前容量 int capacity list.Capacity; // 遍历foreach (object item in list) { Console.WriteLine(item); }// for 循环遍历for (int i 0; i list.Count; i) { Console.WriteLine($索引 {i}: {list[i]}); }3.删除元素csharpArrayList list new ArrayList() { A, B, C, D, B };// Remove - 删除指定元素第一个匹配 list.Remove(B); // 只删除第一个B // RemoveAt - 删除指定索引 list.RemoveAt(0); // 删除第一个元素 // RemoveRange - 删除指定范围 list.RemoveRange(1, 2); // 从索引1开始删除2个 // Clear - 清空所有 list.Clear();4.查找元素csharpArrayList list new ArrayList() { Apple, Banana, Apple };// Contains - 是否包含 bool hasApple list.Contains(Apple); // true // IndexOf - 查找索引第一个 int firstIndex list.IndexOf(Apple); // 0 // LastIndexOf - 查找索引最后一个 int lastIndex list.LastIndexOf(Apple); // 2// BinarySearch - 二分查找要求已排序 list.Sort(); int index list.BinarySearch(Banana); // 返回索引5.排序和反转csharpArrayList list new ArrayList() { 5, 2, 8, 1, 9 };// Sort - 排序升序 list.Sort(); // 1, 2, 5, 8, 9 // Reverse - 反转 list.Reverse(); // 9, 8, 5, 2, 1// 自定义排序 list.Sort(new MyComparer());6.转换方法csharpArrayList list new ArrayList() { 1, 2, 3 };// ToArray - 转换为对象数组 object[] array list.ToArray(); // CopyTo - 复制到数组 int[] target new int[3]; list.CopyTo(target, 0); // GetRange - 获取子集 ArrayList subList list.GetRange(1, 2); // 从索引1开始取2个四、ArrayList vs ListT 对比特性ArrayListListT类型安全❌ 运行时检查✅ 编译时检查性能❌ 装箱拆箱开销✅ 无类型转换代码简洁性❌ 需要强制转换✅ 直接使用泛型支持❌ 不支持✅ 支持LINQ支持有限支持✅ 完全支持内存效率❌ 较低✅ 较高推荐使用❌ 已过时✅ 现代标准五、转换方法ArrayList → ListTcsharp// 方法1遍历转换 ArrayList arrayList new ArrayList() { A, B, C }; Liststring list1 new Liststring(); foreach (object item in arrayList) { list1.Add((string)item); // 需要转换 } // 方法2使用 Cast 或 OfType Liststring list2 arrayList.Caststring().ToList(); // 全部转换 Liststring list3 arrayList.OfTypestring().ToList(); // 只转换string类型ListT → ArrayListcsharpListstring list new Liststring() { A, B, C }; ArrayList arrayList new ArrayList(); arrayList.AddRange(list); // 或直接 ArrayList arrayList2 new ArrayList(list);备忘表添加Add(),AddRange(),Insert()删除Remove(),RemoveAt(),Clear()查找Contains(),IndexOf(),BinarySearch()排序Sort(),Reverse()转换ToArray(),GetRange(),CopyTo()比较:Equals()