当前位置:首页 > C# > 正文

C#数据结构入门:ArrayList详解(小白也能轻松掌握的C#数组列表使用指南)

在C#编程中,ArrayList 是一种非常基础且实用的动态数组数据结构。它属于 System.Collections 命名空间,能够自动调整大小,非常适合初学者理解和使用。本教程将带你从零开始,深入浅出地学习 C# ArrayList 的基本用法、常见操作以及注意事项。

什么是ArrayList?

ArrayList 是 C# 中一种非泛型的集合类,它可以存储任意类型的对象(如 int、string、自定义类等),并且其容量会随着元素的增加或减少而自动扩展或收缩。这与传统的固定长度数组不同,后者一旦声明长度就无法改变。

C#数据结构入门:ArrayList详解(小白也能轻松掌握的C#数组列表使用指南) C# ArrayList  C#数组列表 C#动态数组 C#数据结构教程 第1张

如何使用ArrayList?

首先,你需要引入命名空间:

using System.Collections;

然后就可以创建和操作 ArrayList 了。下面是一个完整的示例:

using System;using System.Collections;class Program{    static void Main()    {        // 创建一个ArrayList        ArrayList list = new ArrayList();        // 添加元素(支持不同类型)        list.Add("Hello");        list.Add(42);        list.Add(true);        // 输出元素个数        Console.WriteLine("元素数量: " + list.Count);        // 遍历ArrayList        foreach (var item in list)        {            Console.WriteLine(item);        }        // 删除指定元素        list.Remove("Hello");        // 插入元素到指定位置        list.Insert(0, "World");        // 清空所有元素        // list.Clear();    }}

ArrayList常用方法

  • Add(object):在末尾添加一个元素。
  • Insert(int index, object):在指定索引位置插入元素。
  • Remove(object):移除第一个匹配的元素。
  • RemoveAt(int index):移除指定索引处的元素。
  • Clear():清空所有元素。
  • Contains(object):判断是否包含某个元素。
  • IndexOf(object):返回元素第一次出现的索引。

ArrayList vs 数组 vs List<T>

虽然 C# ArrayList 使用灵活,但它存在一些缺点:

  • 非类型安全:可以混存不同类型的对象,容易在运行时出错。
  • 装箱/拆箱开销:存储值类型(如 int)时会自动装箱为 object,影响性能。

因此,在现代 C# 开发中,更推荐使用泛型集合 List<T>(属于 System.Collections.Generic 命名空间),它提供了类型安全和更好的性能。但对于学习 C#数据结构教程 或维护旧代码,理解 ArrayList 仍然很有价值。

总结

通过本教程,你已经掌握了 C#数组列表 ArrayList 的基本概念、创建方式、常用操作及其优缺点。作为 C# 动态数组 的经典实现,ArrayList 虽然已被泛型 List<T> 所取代,但其设计理念对理解集合框架至关重要。

建议初学者在掌握 ArrayList 后,进一步学习 List<T>,以编写更安全高效的 C# 代码。

SEO关键词回顾:C# ArrayList、C#数组列表、C#动态数组、C#数据结构教程