C#数组中ArrayList相关方法的学习2009-07-09 本站 L小凤一. ArrayList相关方法的学习利用enumerator来访问数组:ArrayList list = new ArrayList(1);for (int i = 0; i < 10; i++)list.Add(i);IEnumerator etr = list.GetEnumerator();//枚举while (etr.MoveNext())Console.Write(etr.Current + " ");运行结果:

对了,要想在C#中利用ArrayList必须在系统命名空间中加入一个引用,否则会出现错误的。using System.Collections;下面看一些动态数组的常用方法:ArrayList list = new ArrayList(5);//构造一个动态数组// list.Clear();//清楚数组中所有的元素Console.WriteLine();Console.WriteLine("there are {0} elements in the list", list.Count);ArrayList shuzu = new ArrayList(5);shuzu.Add("仙剑一");shuzu.Add("亮剑");shuzu.Add("bianceng.");shuzu.Add("国家宝藏");shuzu.Add("陆小凤");for (int x = 0; x <= shuzu.Count - 1; x++)Console.WriteLine(shuzu[x]);Console.WriteLine("now reverse it
");shuzu.Reverse();Console.WriteLine("after reverser
");Console.WriteLine();for (int x = 0; x <= shuzu.Count - 1; x++)Console.WriteLine(shuzu[x]);运行结果:

现在比较下array 和arraylist:Array 提供 ArrayList 所不具有的某些灵活性。例如:
可以设置 Array 的下限,但 ArrayList 的下限始终为零。
Array 可以具有多个维度,而 ArrayList 始终只是一维的;特定类型(不包括 Object)的 Array 的性能比 ArrayList 好,这是因为 ArrayList 的元素属于 Object 类型,所以在存储或检索值类型时通常发生装箱和取消装箱。Array 位于 System 命名空间中;ArrayList 位于 System. Collections 命名空间中至于ArrayList从Object类继承下来的父类方法我在这里就不多介绍了,那都是些基本的方法。下面看些ArrayList使用的方法。
Console.WriteLine();for (int x = 0; x <= shuzu.Count - 1; x++)Console.WriteLine(shuzu[x]);Console.WriteLine("there are {0} elements in the list", shuzu.Count);Console.WriteLine("now add a new elements ");shuzu.Add("new element");//增加一个元素Console.WriteLine("there are {0} elements in the list", shuzu.Count);shuzu.Remove("亮剑");//删除特点元素Console.WriteLine("there are {0} elements in the list", shuzu.Count);shuzu.RemoveAt(2);//删除指定位置的元素Console.WriteLine("there are {0} elements in the list", shuzu.Count);shuzu.Insert(1, "系统级");//在数组的制定位置插入一个元素Console.WriteLine("there are {0} elements in the list", shuzu.Count);int countElement = shuzu.Count;Console.WriteLine(shuzu.GetType());//输出数组的类型int index = shuzu.IndexOf("系统级");//获取某一元素的索引号Console.WriteLine();ArrayList anothe = new ArrayList(shuzu);//创建一个数组for (int b = 0; b < anothe.Count; b++)Console.WriteLine(anothe[b]);Console.WriteLine(shuzu.Contains("国家宝藏"));//判定数组中是否存在某一元素 Console.WriteLine(shuzu.LastIndexOf("国家宝藏")); | list.Add("B");list.Add("G");list.Add("J");list.Add("S");list.Add("M");string[] array1 = new string[list.Count];//创建一个i和shuzu元素个数大小一样大的字符串数组list.CopyTo(array1, 0);//将shuzu中从第一个元素开始以后的元素复制到arrayobject[] array2 = list.ToArray();//利用这个方法创建数组Console.WriteLine("Array 1:");foreach (string s in array2){Console.Write("{0}", s);}Console.WriteLine();foreach (string s in array1){Console.Write("{0}", s);}Console.WriteLine();for (int i = 0; i < list.Count; i++)Console.Write(list[i]); |
以上程序运行的结果是: |  |