C#索引器的作用及使用

时间:2021-07-23 18:44:53

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;}
}
}