C#动态数组详解:属性、方法与操作

需积分: 50 2 下载量 9 浏览量 更新于2024-11-01 收藏 3KB TXT 举报
"本文将详细介绍C#中的动态数组,包括其基本概念、创建、操作以及常见用途。首先,我们回顾C#语言中的动态数组是ArrayList类的实例,它允许在运行时动态地增加或减少元素,无需预先指定容量。我们将通过代码示例来逐步探讨ArrayList的主要属性和方法。 1. **创建动态数组:** ArrayList类的实例化通常通过`new ArrayList()`完成,如`ArrayList AL = new ArrayList();`。这里创建了一个名为AL的新ArrayList对象。 2. **常用属性:** - `Count`: 返回ArrayList中元素的数量,如`Console.WriteLine":"+AL.Count);`用于显示当前元素个数。 - `Capacity`: 表示ArrayList当前可以容纳的元素数量,如`Console.WriteLine(":"+AL.Capacity);`用来查看当前容量。 3. **添加元素:** - `Add()`: 向ArrayList末尾添加元素,如`AL.Add("c#");`向列表中添加字符串"c#"。 - `Insert()`: 在指定索引位置插入元素,如`AL.Insert(1,"c#");`将"c#"插入到索引1的位置。 4. **遍历和访问元素:** - 使用`foreach`循环遍历ArrayList中的每个元素,如`foreach(Object obj in AL)`,打印出每个元素。 5. **查询与操作:** - `Contains()`: 检查列表是否包含特定元素,如`Console.WriteLine("Ƿ"+AL.Contains("?"));`判断 "?" 是否在列表中。 - `Remove()`: 删除指定元素,如`AL.Remove("");`移除空字符串。 6. **动态调整容量:** - 当ArrayList接近满载(达到容量的80%)时,它会自动扩容;当元素数量减少时,容量可能不会自动减小。这在`AL.Add("---")`后展示,`Console.WriteLine("---:"+AL.Capacity);`可以看到容量的变化。 7. **访问元素的特定索引:** - 可以通过索引访问ArrayList中的元素,如`Console.WriteLine("3ģ"+AL[3]);`获取索引3处的元素。 8. **清理和维护:** - 通过`Remove()`方法可以移除指定的元素,但需要注意的是,删除元素可能导致数组容量的调整,如`Console.WriteLine("ûУֻ1");`检查是否还有元素。 通过以上内容,读者可以深入了解C#动态数组的使用技巧,并在实际开发中灵活运用,以提高代码的可扩展性和效率。在处理大量数据或不确定元素数量的情况下,动态数组是一个强大的工具。"