1. 作用:
可以使得类和实例能够像数组那样使用一样,又称为带参属性
2. 区分
(1)索引器与数组的比较:
索引器的索引值不受类型限制。用来访问数组的索引值一定是整数,而索引器可以是其他类型的索引值。
索引器允许重载,一个类可以有多个索引器。
索引器不是一个变量没有直接对应的数据存储地方。索引器有get和set访问器。
索引器允许类和结构的实例按照与数组相同的方式进行索引,索引器类似与属性,不同之处在于他们的访问器采用参数。被称为有参属性。
(2)索引器与属性的比较:
标示方式:属性以名称来标识,索引器以函数签名来标识。
索引器可以被重载。属性则不可以被重载。
属性可以为静态的,索引器属于实例成员,不能被声明为static
3. 使用
(1)例子1
string str = "abc"; char c = str[0];
(2)例子2
static void main(string[] args) { 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;} } }
原文:http://www.cnblogs.com/seanbrucexxl/p/3878760.html