这篇文章主要介绍了C#中动态数组用法,实例分析了C#中ArrayList实现动态数组的技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了C#中动态数组用法。分享给大家供大家参考。具体分析如下:
ArrayList是一种动态数组,其容量可随着我们的需要自动进行扩充.
ArrayList位于System.Collections命名空间中,所以我们在使用时,需要导入此命名空间.
下面,我们还是在Student类的基础上利用ArrayList操作,从而了解ArrayList的用法
public class Student { public Student(){} public Student(String name,int age,String hobby) { this.Name = name; this.Age = age; this.Hobby = hobby; } private String name; public String Name { get{return name;} set{name = value;} } private int age; public int Age { get{return age;} set{age = value;} } private String hobby; public String Hobby { get{return hobby;} set{hobby = value;} } public void say() { Console.WriteLine("大家好,我是'{0}',今年{1}岁,我喜欢'{2}'", this.Name,this.Age,this.Hobby); } }
编写测试类,了解ArrayList的方法
using System.Collections; public class TestStudent { public static void main(String args []) { //建立ArrayList对象 ArrayList students = new ArrayList(); //实例化几个Student类对象 Student rose = new Student("rose",25,"reading"); Student jack = new Student("jack",28,"singing"); Student mimi = new Student("mimi",26,"dancing"); //利用ArrayList类的add()方法添加元素 students.add(rose); students.add(jack); students.add(mimi); //利用ArrayList的Count属性查看该集合中的元素数量 int number = students.Count; Console.WriteLine("共有元素" + number + "个"); //读取单个元素,因为存入ArrayList中的元素会变为Object类型, //所以,在读取时间, Student stu = students[0] as Student; stu.say(); //遍历元素 -- 通过索引 for(int i = 0;i < students.Count;i ++) { Student a = students[i] as Student; a.say(); } //利用foreach循环 foreach(Object o in students) { Student b = o as Student; b.say(); } //删除元素 通过索引删除 students.removeAt(0); //删除元素, 通过对象名 students.remove(jack); //清空元素 students.Clear(); //我们知道,ArrayList的容量会随着我们的需要自动按照一定规律 //进行填充,当我们确定不再添加元素时,我们要释放多余的空间 //这就用到了Capacity属性和TrimtoSize()方法 //利用Capacity属性可以查看当前集合的容量 //利用TrimtoSize()方法可以释放多余的空间 //查看当前容量 int number = students.Capacity; //去除多余的容量 students.TrimtoSize(); } }