C# ArrayList:动态数组
在 C# 中,动态数组(ArrayList)代表了可被单独索引的对象的有序集合。动态数组基本上可以代替数组,唯一与数组不同的是,动态数组可以使用索引在指定的位置添加和移除指定的项目,动态数组会自动重新调整自身的大小。另外,动态数组允许在列表中进行动态内存分配、增加、搜索、排序等操作。
关于 ArrayList 类中的完整属性和方法介绍,可以查阅 C# 官方文档。
【示例】下面通过示例演示 ArrayList 类中属性和方法的使用:
ArrayList 类中的属性
在 C# 中想要创建动态数组需要使用 ArrayList 类,下表中列出了 ArrayList 类中的常用属性:| 属性 | 描述 |
|---|---|
| Capacity | 获取或设置动态数组中可以包含的元素个数 |
| Count | 获取动态数组中实际包含的元素个数 |
| IsFixedSize | 判断动态数组是否具有固定大小 |
| IsReadOnly | 判断动态数组是否只读 |
| IsSynchronized | 判断访问动态数组是否同步(线程安全) |
| Item[Int32] | 获取或设置指定索引处的元素 |
| SyncRoot | 获取一个对象用于同步访问动态数组 |
ArrayList 类中的方法
下表中列出了 ArrayList 类中的常用方法:| 方法名 | 描述 |
|---|---|
| public virtual int Add(object value) | 将对象添加到动态数组的末尾 |
| public virtual void AddRange(ICollection c) | 将 ICollection 的元素添加到动态数组的末尾 |
| public virtual void Clear() | 从动态数组中移除所有的元素 |
| public virtual bool Contains(object item) | 判断某个元素是否在动态数组中 |
| public virtual ArrayList GetRange(int index, int count) | 返回一个动态数组,表示源动态数组中元素的子集 |
| public virtual int IndexOf(object) | 搜索整个动态数组,并返回对象在动态数组中第一次出现的索引,索引从零开始 |
| public virtual void Insert(int index, object value) | 在动态数组的指定索引处插入一个元素 |
| public virtual void InsertRange(int index, ICollection c) | 在动态数组的指定索引处插入某个集合的元素 |
| public virtual void Remove(object obj) | 从动态数组中移除指定的对象 |
| public virtual void RemoveAt(int index) | 移除动态数组中指定索引处的元素 |
| public virtual void RemoveRange(int index, int count) | 从动态数组中移除某个范围的元素 |
| public virtual void Reverse() | 逆转动态数组中元素的顺序 |
| public virtual void SetRange(int index, ICollection c) | 复制某个集合的元素到动态数组中某个范围的元素上 |
| public virtual void Sort() | 对动态数组中的元素进行排序 |
| public virtual void TrimToSize() | 将容量设置为动态数组中元素的实际个数 |
关于 ArrayList 类中的完整属性和方法介绍,可以查阅 C# 官方文档。
【示例】下面通过示例演示 ArrayList 类中属性和方法的使用:
using System;
using System.Collections;
namespace c.biancheng.net
{
class Demo
{
static void Main(string[] args){
ArrayList arr_list = new ArrayList();
Console.WriteLine("以 Num1,Num2,Num3,...,Numn 的形式输入一个字符串:");
string str = Console.ReadLine();
string[] strArray = str.Split(',');
foreach(string s in strArray){
arr_list.Add(s);
}
Console.WriteLine("Capacity: {0} ", arr_list.Capacity);
Console.WriteLine("Count: {0}", arr_list.Count);
Console.Write("Content: ");
foreach (string i in arr_list)
{
Console.Write(i + " ");
}
Console.WriteLine();
Console.Write("Sorted Content: ");
arr_list.Sort();
foreach (string i in arr_list)
{
Console.Write(i + " ");
}
Console.WriteLine();
Console.ReadKey();
}
}
}
运行结果如下:
以 Num1,Num2,Num3,...,Numn 的形式输入一个字符串:
213,443,11,456,23,113,56,89,23
Capacity: 16
Count: 9
Content: 213 443 11 456 23 113 56 89 23
Sorted Content: 11 113 213 23 23 443 456 56 89
ICP备案:
公安联网备案: