当一个类中包含数组或者集合成员时,用索引器可以大大简化对数组或者集合成员的存取操作。
使用方式如下:
[修饰符] 数据类型 this[索引类型 index]
{
get{//获得属性的代码}
set{ //设置属性的代码}
}
//修饰符包括public,protected,private,internal,new,virtual,sealed,override, abstract,extern.
//数据类型是表示将要存取的数组或集合元素的类型。
例如,如下是一个类,在类中使用了索引器:
public class MyClass {
public string Name { get; set; }
public int Age { get; set; }
public string[] arr = new string[10];
//在类的外部可以用MyClass[param]的方式来访问MyClass中字符串数组arr[param]的值
public string this[int param] {
get { return arr[param]; }
set { arr[param] = value; }
}
}
下面是通过索引器来向类中的数组成员arr的第0个元素存入字符串:
//通过访问MyClass[index]就相当于访问MyClass中的数组arr[index]
MyClass myClass = new MyClass();
myClass[0] = "JohnSmith";
Console.WriteLine(myClass.arr[0]);
更多参考:《C#中的索引器》