在我们开发中常见的用到索引器的地方非常之多,索引器是一个非常微妙的特殊类的成员,它能够让对象以类似数组的方式来存取,当一个类包含了数组和集合成员时,索引器将大大简化对数组或集合成员的存取操作。使程序看起来更为直观,更容易编写。
一.定义索引器
定义索引器的方式与定义属性有些类似,其一般形式如下:
[修饰符] 数据类型 this[索引类型 index]
{
get{//获得属性的代码}
set{ //设置属性的代码}
}
修饰符包括 public,protected,private,internal,new,virtual,sealed,override, abstract,extern.
数据类型是表示将要存取的数组或集合元素的类型。
索引器类型表示该索引器使用哪一类型的索引来存取数组或集合元素,可以是整数,可以是字符串;this表示操作本对象的数组或集合成员,可以简单把它理解成索引器的名字,因此索引器不能具有用户定义的名称。
二.索引器的本质是类
三.创建一个索引器的例子
public class Person
{
//首先定义以一个数组
private string[] str = new string[2];
//添加索引器
public string this[int index]
{
get { return str[index]; }
set { str[index] = value; }
}
}
在Main方法中调用
Person person=new Person();
//通过索引器的方式来赋值
person[0] = "张三";
person[1] = "李四";
Console.WriteLine(person[0] );
Console.WriteLine(erson[1]);
Console.ReadKey();