下面的例子向你演示C#动态数组的方法及属性,这样通过实例的演示介绍能够更加深刻的理解C#动态数组的各项基本概念和应用,希望对你有所帮助。
C#动态数组的详解实例:
- ArrayList AL = new ArrayList();
- AL.Add("Hello");
- AL.Add(" World");
- Console.WriteLine("给数组添加元素:");
- foreach (Object obj in AL)
- { Console.Write(obj); }
- Console.WriteLine();
- Console.WriteLine("个数:" + AL.Count);
- Console.WriteLine("容量: " + AL.Capacity);
- AL.Insert(1, " c#");
- //C#动态数组的详解实例
- Console.Write("在索引值为1的地方插入 ");
- foreach (Object obj in AL)
- {Console.Write(obj); }
- Console.WriteLine();
- Console.WriteLine("个数:" + AL.Count);
- Console.WriteLine("容量: "+AL.Capacity);
- AL.Add("。");//给集合添加“。”,查看集合的容量
- Console.WriteLine("容量。: " + AL.Capacity);
- AL.Add("---");//给集合添加“---”,查看当集合的容量不够时,倍数变化
- Console.WriteLine("容量---: " + AL.Capacity);
- Console.WriteLine("3号索引的:"+AL[3]);
- //用索引方式获取集合元素值
- //C#动态数组的详解实例
- Console.WriteLine("数组中是否包含?:"+AL.Contains ("?"));
- //利用contains方法,查找集合中是否包含“?”
- Console.WriteLine("经过之前操作后的数组元素:");
- foreach (Object obj in AL)
- { Console.Write(obj); }
- Console.WriteLine();
- Console.WriteLine("个数:" + AL.Count);
- Console.WriteLine("容量: " + AL.Capacity);
- //C#动态数组的详解实例
- AL.Remove("。");//移除集合中的“。”元素
- AL.Remove("?");
- //移除集合中的“?”,但是因为没有“?”,
- //所以此行代码不会对集合进行操作。
- Console.WriteLine("没有?个数只减少1个容量不变");
- foreach (Object obj in AL)
- { Console.Write(obj); }
- Console.WriteLine();
- Console.WriteLine("个数:" + AL.Count);
- Console.WriteLine("容量: " + AL.Capacity);
- AL.RemoveAt(3);//移除3号索引的元素
- Console.WriteLine("移除3号索引位的元素:");
- foreach (Object obj in AL)
- { Console.Write(obj); }
- Console.WriteLine();
- Console.WriteLine("个数:" + AL.Count);
- Console.WriteLine("容量: " + AL.Capacity);
- AL.TrimToSize(); //缩减容量
- Console.WriteLine("实际容量: " + AL.Capacity);
- AL.Clear();
- Console.WriteLine("清除全部元素后:");
- Console.WriteLine("个数:" + AL.Count);
- Console.WriteLine("容量: " + AL.Capacity);
- AL.TrimToSize(); //缩减容量
- Console.WriteLine(“再次缩减实际容量: " + AL.Capacity);
回到了ArrayList最初的容量。
通过以上的例子你们应该已经理解集合的方法,我们再来总结一下集合ArrayList相比数组有什么好处?主要是它可以根据使用大小按需动态增加,不用受事先设置大小的控制,还有就是可以随意的添加、插入或移除某一范围元素,比数组要方便。但是它也有不足,ArrayList 不管对象是什么类型都会添加到集合j中,在编译时都是没有问题的,但是在遍历的时候,为防止集合中元素的类型不一致,所以最好使用object类型来接收遍历j的元素,如foreach(object i in j)这样就能减少错误。
C#动态数组的详解实例就向你介绍到这里,希望对你了解和学习C#动态数组有所帮助。
【编辑推荐】