使用引用类型

不但能声明预定义类型的数组,还可以声明定制类型的数组。

下面用Person 类来说明,这个类有两个构造函数、自动实现的属性Firstname 和Lastname、以及ToString()方法的一个重写:public class Person{public Person()}

{public Person(string firstName, string lastName)

{this. firstname = firstName;this.lastname = lastName;}

public string Firstname{ get; set; }

public string Lastname{ get; set; }public override string ToString()

{return String.Format("{0} {1}", firstName, lastName);}}

声明一个包含两个Person 元素的数组,与声明一个int 数组类似:Person[] myPersons = new Person[2];但是必须注意,如果数组中的元素是引用类型,就必须为每个数组元素分配内存。若使用了数组中未分配内存的元素,就会抛出NullReferenceException 类型的异常。

使用从0 开始的索引器,可以为数组的每个元素分配内存:

myPersons [0] = new Person("Ayrton", "Senna");

myPersons [1] = new Person("Michael", "Schumacher");

myPersons 是一个存储在堆栈上的变量,该变量引用了存储在托管堆上的Person 元素数组。这个数组有足够容纳两个引用的空间。数组中的每一项都引用了一个Person 对象,而这些Person 对象也存储在托管堆上。

与int 类型一样,也可以对定制类型使用数组初始化器:Person[] myPersons = {new Person("Ayrton", "Senna"),new Person("Michael", "Schumacher") };

posted on 2011-04-05 13:00  xingya  阅读(101)  评论(0)    收藏  举报