使用引用类型
不但能声明预定义类型的数组,还可以声明定制类型的数组。
下面用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") };
浙公网安备 33010602011771号