C# 中 Array 和 ArrayList 详解及区别
什么是数组?
在 C# 中,数组是一种类型强制定义并具有相同数据类型的数据结构。数组的元素可以通过索引进行访问,索引是数组中元素的唯一编号,从零开始并从左到右。数组的长度是在创建数组时确定的。
什么是 ArrayList?
C# 中的 ArrayList 是一个动态数组,可以根据需要自动增长和缩小其大小。它可以包含多种数据类型,并提供许多有用的方法来处理数组。
Array 和 ArrayList 的区别
1. 类型
Array 是一种固定大小的数据结构,元素的类型是强制定义的。一旦创建后,不能更改数组的大小,但是可以更改数组的元素值。
ArrayList 是一个动态大小的数据结构,可以包含多种类型的元素,并且可以自动增长和缩小。
2. 内存分配
Array 在创建时,会在内存中分配一段连续的空间,用于存储其元素。
ArrayList 初始时只分配一个较小的内存块,可以动态增加其容量,以适应列表中添加的项。
3. 性能
Array 在执行基本操作时的效率比 ArrayList 高,因为 Array 在内存中的排列位置是连续的,并且没有指向元素的指针。
ArrayList 需要维护一个指向元素的指针,并且在添加或删除元素时需要重新分配内存。
使用示例
1. Array 示例
以下代码创建一个包含 5 个 int 类型元素的数组,并输出第 3 个元素的值。
int[] nums = new int[5] { 1, 2, 3, 4, 5 };
Console.WriteLine(nums[2]); // 输出 3
2. ArrayList 示例
以下代码使用 ArrayList 创建一个列表,向其中添加两个元素,然后循环输出列表中的值。
ArrayList list = new ArrayList();
list.Add(1); // 向列表中添加数字 1
list.Add("Hello"); // 向列表中添加字符串 "Hello"
foreach (var item in list)
{
Console.WriteLine(item);
}
输出结果:
1
Hello
从上述示例中可以看出,ArrayList 可以包含多种类型的元素,并且可以根据需要添加或删除元素。但是,如果需要高效地对数据集合进行操作,那么使用 Array 更有效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 中 Array和 ArrayList详解及区别 - Python技术站