现在的位置: 网页制作教程网站制作教程 >正文
C#

ArrayList的使用

发表于2017/3/11 网站制作教程 0条评论 ⁄ 热度 1,548℃

ArrayList的使用介绍。

命名空间:using System.Collections;

ArrayList就是传说中的动态数组,它可以动态的增加和减少元素,另外它可以存储任意个数和任意类型的元素。

属性

  • Count属性是目前ArrayList包含的元素的数量,这个属性是只读的
  • Capacity属性是目前ArrayList能够包含的最大数量,可以手动的设置这个属性,但是当设置为小于Count值的时候会引发一个异常。

方法

  • Add(v):添加一个元素(参数v,任何类型)到当前列表的末尾
  • AddRange方法用于添加一批元素到当前列表的末尾
  • Remove方法用于删除一个元素,通过元素本身的引用来删除
  • RemoveAt(i):方法用于删除一个元素,通过索引值(参数i)来删除
  • RemoveRange用于删除一批元素,通过指定开始的索引和删除的数量来删除
  • Insert用于添加一个元素到指定位置,列表后面的元素依次往后移动
  • InsertRange用于从指定位置开始添加一批元素,列表后面的元素依次往后移动
  • Clear():方法用于清除现有所有的元素
  • Contains(v):方法用来查找某个对象(参数v)在不在列表之中
  • ToArray(Type t):这个方法把ArrayList的元素Copy到一个新的数组中,参数为Type类型

① 简单使用

ArrayList list = new ArrayList();  // 声明变量

list.Add(2);
list.Add("北京");
list.Add(new int[] { 2, 4, 6 });
list.Add("南京");
list.Add(3);

foreach (var p in list) {
    Console.Write(p.ToString() + " | ");  // 输出:2 | 北京 | System.Int32[] | 南京 | 3 |
}

② ArrayList与数组转换

元素类型相同的转换

ArrayList list = new ArrayList();
list.Add(1);
list.Add(2);
list.Add(3);

// 转换方式1:ToArray()
int[] list2 = (int[])list.ToArray(typeof(int));

// 转换方式2:CopyTo()
int[] list3 = new int[list.Count];
list.CopyTo(list3);

元素类型不同的转换

ArrayList arr = new ArrayList(){ "北京", 1};   //往数组中添加不同类型的元素

object[] arr2 = (object[])arr.ToArray(typeof(object)); //正确
string[] arr3 = (string[])arr.ToArray(typeof(string)); //错误
  • 暂无评论