例如我们曾经这样的写法: dgvList.Rows.Cells[“Stuno”] 、 dic[“key”] 等等,这种使用中括号来定位数据的时候就是索引器的使用。
01.C#中的类成员可以是任意类型,包括数组和集合。当一个类包含了数组和集合成员时,索引器将大大简化对数组或集合成员的存取操作。
02.定义索引器的方式与定义属性有些类似,其一般形式如下:
[修饰符] 数据类型 this[索引类型 index]
{
get{//获得属性的代码}
set{ //设置属性的代码}
}
//在Student类中创建私有的数组 定义索引器来访问和取值 public class Student { //该类中有一个字符串类型的数组 private string[] name=new string[2]; //定义一个索引器,给name数组赋值和取值 public string this[int index] { get { return name[index]; } set { name[index] = value; } } }
//在方法中就可以进行调用了 static void Main(string[] args) { Student stu=new Student(); stu[0] = "张三"; stu[1] = "李四"; Console.WriteLine(stu[0]); Console.ReadKey(); }
03.索引器的本质是类(看IL源码得知)