1. 作用:
可以使得类和实例能够像数组那样使用一样,又称为带参属性
2. 区分
(1)索引器与数组的比较:
索引器的索引值不受类型限制。用来访问数组的索引值一定是整数,而索引器可以是其他类型的索引值。
索引器允许重载,一个类可以有多个索引器。
索引器不是一个变量没有直接对应的数据存储地方。索引器有get和set访问器。
索引器允许类和结构的实例按照与数组相同的方式进行索引,索引器类似与属性,不同之处在于他们的访问器采用参数。被称为有参属性。
(2)索引器与属性的比较:
标示方式:属性以名称来标识,索引器以函数签名来标识。
索引器可以被重载。属性则不可以被重载。
属性可以为静态的,索引器属于实例成员,不能被声明为static
3. 使用
(1)例子1
string str = "abc";
char c = str[];
(2)例子2
static void main(string[] args)
{
IndexClass indexClass = new IndexClass();
indexClass[] = "王五";
indexClass[] = "赵四";
} Class IndexClass()
{
private string[] name = new string[];
public string this[int index]
{
get {return name[index];}
set {name[index]=value;}
}
}