索引器
时间:2011-05-06 来源:孤独的猫
通过对类定义个索引器可以把对象的域当做一个数组元素。例如在Car类中定义一个索引器,用来读写make和model域,定义一个类myCar
myCar[0]访问make,myCar[1]访问model。
/* Example10_11.cs illustrates the use of an indexer */ using System; // declare the Car class public class Car { // declare two fields private string make; private string model; // define a constructor public Car(string make, string model) { this.make = make; this.model = model; } // define the indexer public string this[int index] { get { switch (index) { case 0: return make; case 1: return model; default: throw new IndexOutOfRangeException(); } } set { switch (index) { case 0: this.make = value; break; case 1: this.model = value; break; default: throw new IndexOutOfRangeException(); } } } } class Example10_11 { public static void Main() { // create a Car object Car myCar = new Car("Toyota", "MR2"); // display myCar[0] and myCar[1] Console.WriteLine("myCar[0] = " + myCar[0]); Console.WriteLine("myCar[1] = " + myCar[1]); // set myCar[0] to "Porsche" and myCar[1] to "Boxster" Console.WriteLine("Setting myCar[0] to \"Porsche\" " + "and myCar[1] to \"Boxster\""); myCar[0] = "Porsche"; myCar[1] = "Boxster"; // myCar[2] = "Test"; // causes IndeXOutOfRangeException to be thrown // display myCar[0] and myCar[1] again Console.WriteLine("myCar[0] = " + myCar[0]); Console.WriteLine("myCar[1] = " + myCar[1]); } }
相关阅读 更多 +