1 static void Main(string[] args) 2 { 3 4 ArrayList arrayList = new ArrayList(); 5 arrayList.Add(1); //Add方法,将一个元素添加到ArrayList中 6 arrayList.Add("你好"); 7 arrayList.Add(3.265); 8 IList iList = arrayList; 9 ICollection iCollection = iList; 10 IEnumerable iEnumerable = iCollection; //体现了ArrayList的继承关系 11 foreach (object obj in iEnumerable) 12 { 13 Console.WriteLine(obj.ToString()); 14 } 15 16 bool b = arrayList.Contains("你好"); //确定ArrayList中是否包含某元素 17 Console.WriteLine(b); //输出 True 18 19 object[] objArr = new object[arrayList.Count + 1]; 20 objArr[0] = "我是用来占位的"; 21 arrayList.CopyTo(objArr, 1); //便宜一位,也就是接受数组从1开始,默认是0 22 foreach (object obj in objArr) 23 { 24 Console.Write(obj.ToString() + "-"); //输出 我是用来占位的-1-你好-3.265- 25 } 26 Console.WriteLine(); 27 28 ArrayList AL = ArrayList.FixedSize(arrayList); //静态方法 返回一个固定大小的ArrayList对象,数量不许改变。也就是说不能添加和删除。 29 Console.WriteLine(AL.IsFixedSize); //输出True 30 //AL.Add(111); 此处报异常,"集合的大小是固定的" 31 ArrayList ALReadOnly = ArrayList.ReadOnly(arrayList); 32 Console.WriteLine(ALReadOnly.IsReadOnly); //输出True 33 34 35 ArrayList AL1 = arrayList.GetRange(1, 2); //按照索引顺序截取出子集 36 foreach (object obj in AL1) 37 { 38 Console.Write(obj.ToString()); //输出 你好3.265 可以截取出的新ArrayList只包含1,2位 39 } 40 Console.WriteLine(); 41 42 int indexLocation = arrayList.IndexOf(1); //从左边开始检索,返回第一个匹配到的元素的顺序 43 Console.WriteLine(indexLocation); //输出 0 44 45 arrayList.Add(1); //为了体现LastIndexOf的不同,先添加一个1 46 int lastLocation = arrayList.LastIndexOf(1); 47 Console.WriteLine(lastLocation); //返回3 48 49 arrayList.Insert(2, "Insert插入的元素"); //这个方法与Add的不同在于它可以在任意位置插入 50 foreach (object obj in arrayList) 51 { 52 Console.Write(obj.ToString() + " "); //输出 1 你好 Insert插入的元素 3.265 1 53 } 54 55 ArrayList arr = new ArrayList(); 56 arr.Add(1); 57 arr.Add(2); 58 arrayList.AddRange(arr); 59 foreach (object obj in arrayList) 60 { 61 Console.Write(obj.ToString() + "-"); //输出 1 你好 Insert插入的元素 3.265 1 1 2可以看到将一个新的集合追加到了最后 62 } 63 64 arrayList.Remove(2); 65 foreach (object obj in arrayList) 66 { 67 Console.Write(obj.ToString() + "-"); //输出 1 你好 Insert插入的元素 3.265 1 1 可以看到2已经被移除了 68 } 69 Console.WriteLine(); 70 71 arrayList.RemoveAt(0); 72 foreach (object obj in arrayList) 73 { 74 Console.Write(obj.ToString() + "-"); //输出 你好 Insert插入的元素 3.265 1 1 可以看到第0个元素"2"已经被移除了 75 } 76 Console.WriteLine(); 77 78 //arrayList.Reverse(); 79 //foreach (object obj in arrayList) 80 //{ 81 // Console.Write(obj.ToString() + "-"); //输出顺序倒转的所有元素 82 //} 83 84 ArrayList AL3 = new ArrayList(); 85 arrayList.SetRange(0,AL3); //从第0位开始,将元素复制到AL3中 86 foreach (object obj in AL3) 87 { 88 Console.Write(obj.ToString() + "-"); //输出 你好 Insert插入的元素 3.265 1 1 89 } 90 91 object[] objArrs = new object[arrayList.Count]; 92 objArrs = arrayList.ToArray(); 93 foreach (object obj in objArrs) 94 { 95 Console.Write(obj.ToString() + "-"); 96 } 97 98 Console.WriteLine(); 99 100 arrayList.Capacity = 5; //读取或设置可包含元素的数量,如果小于当前会报错。 101 Console.WriteLine(arrayList.Count); //输出5 102 arrayList.TrimToSize(); 103 Console.WriteLine(arrayList.Count); //输出5 104 105 Console.ReadKey(); 106 }