C#中的索引器 [ ]

 

例如我们曾经这样的写法: 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源码得知) 

原文地址:https://www.cnblogs.com/john69-/p/5383839.html