C# 索引器

static void main(string[] args)
{

   //所谓索引器就是一类特殊的属性,
   //通过它们你就可以像引用数组一样引用自己的类
   //通过索引器可以存取类的实例的数组成员,操作方法和数组相似,一般形式如下:对象名[索引]
   //表示先创建一个对象IndexClass,再通过索引来引用该对象中的数组元素

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

C#中并不将索引器的类型限制为整数。例如,可以对索引器使用字符串。
通过搜索集合内的字符串并返回相应的值,可以实现此类的索引器。
由于访问器可以被重载,字符串和整数版本可以共存。

class DayCollection
{
      string[] days={"Sun","Mon","Tues","Wed","Thurs","Fri","Sat"};
      private int GetDay(string testDay)
     {
        int i=0;
        foreach(string day in days)
          {
              if(day==testDay)
                      return i;
                       i++;
           }
         return -1;
      }
 
     public int this[string day]
      {
 
          get{return (GetDay(day))}
      }
}
 
static void Main(string[] args)
{
     DayCollection week=new DayCollection();
     Console.WriteLine("Fri:{0}",week["Fri"]);
     Console.WriteLine("ABC:{0}",week["ABC"]);
}

结果:Fri:5

        ABC:-1

C#中的索引器的简单理解和用法

原文地址:https://www.cnblogs.com/ZkbFighting/p/14104853.html