c# 中的索引

官方描述:索引器允许类或结构的实例就像数组一样进行索引。索引器形态类似于,不同之处在于它们的取值函数采用参数。

这一功能在创建集合类的场合特别有用,而在其他某些情况下,比如处理大型文件或者抽象有些资源等,能让类具有类似数组行为也是非常有用的。

2. 区分

  (1)索引器与数组的比较:

             索引器的索引值不受类型限制。用来访问数组的索引值一定是整数,而索引器可以是其他类型的索引值。
             索引器允许重载,一个类可以有多个索引器。
             索引器不是一个变量没有直接对应的数据存储地方。索引器有get和set访问器。
             索引器允许类和结构的实例按照与数组相同的方式进行索引,索引器类似与属性,不同之处在于他们的访问器采用参数。被称为有参属性。

     (2)索引器与属性的比较:
            标示方式:属性以名称来标识,索引器以函数签名来标识。
            索引器可以被重载。属性则不可以被重载。
            属性可以为静态的,索引器属于实例成员,不能被声明为static

static void main(string[] args)
{
    IndexClass indexClass = new IndexClass();
    indexClass[0] = "王五";
    indexClass[1] = "赵四";   
}

Class IndexClass()
{
      private string[] name  = new string[10];
      public string this[int index]
      {
          get {return name[index];}
          set {name[index]=value;}
      }
}

  

posted @ 2019-11-04 10:26  wonderfulviews  阅读(3121)  评论(0编辑  收藏  举报