C#动态设置数组长度typeof array
命名空间: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)); //错误

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。