1.索引器允许类或结构的实例就像数组一样进行索引。
2. 索引器类似于属性,不同之处在于它们的访问器采用参数。
3. 索引器经常是在主要用于封装内部集合或数组的类型中实现的。
4. 下例声明了存储星期几的类。声明了一个 get 访问器,它接受字符串(天名称),并返回相应的整数。例如,星期日将返回 0,星期一将返回 1,等等。
// Using a string as an indexer value class DayCollection { string[] days = { "Sun", "Mon", "Tues","Wed", "Thurs", "Fri", "Sat" }; //This method finds the day or returns -1 private int GetDay(string testDay) { int i = 0; foreach (string day in days) { if (day == testDay) { return i; } i++; } return -1; } // Theget accessor returns an integer for a given string publicint this[string day] { get { return (GetDay(day)); } } } class Program { staticvoid Main(string[] args) { DayCollection week = new DayCollection(); System.Console.WriteLine(week["Fri"]); System.Console.WriteLine(week["Made-up Day"]); } } 输出 5 -1
|