static void main(string[] args) {
//所谓索引器就是一类特殊的属性,
//通过它们你就可以像引用数组一样引用自己的类
//通过索引器可以存取类的实例的数组成员,操作方法和数组相似,一般形式如下:对象名[索引]
//表示先创建一个对象IndexClass,再通过索引来引用该对象中的数组元素
IndexClass indexClass = new IndexClass(); indexClass[0] = "王五"; indexClass[1] = "赵四"; } Class IndexClass() { private string[] name = new string[10]; public string this[int index] { get {return name[index];} set {name[index]=value;} } }
C#中并不将索引器的类型限制为整数。例如,可以对索引器使用字符串。
通过搜索集合内的字符串并返回相应的值,可以实现此类的索引器。
由于访问器可以被重载,字符串和整数版本可以共存。
class DayCollection { string[] days={"Sun","Mon","Tues","Wed","Thurs","Fri","Sat"}; private int GetDay(string testDay) { int i=0; foreach(string day in days) { if(day==testDay) return i; i++; } return -1; } public int this[string day] { get{return (GetDay(day))} } } static void Main(string[] args) { DayCollection week=new DayCollection(); Console.WriteLine("Fri:{0}",week["Fri"]); Console.WriteLine("ABC:{0}",week["ABC"]); }
结果:Fri:5
ABC:-1
C#中的索引器的简单理解和用法