对索引器的理解

      在C#语言中,比如我们声明一个整型数数组:int[] arr=new int[5],实际上生成了一个数组类对象,arr 是这个对象的引用(地址),访问这个数组元素的方法是:

                         arr[下标]

     在数组类中,使用索引访问数组元素。

数组也是类,同样,是否可以定义自己的类,用索引访问类中的数据成员?,索引器(indexer)为我们提供了通过索引方式,访问类的数据成员的方法。

     看下面的例子,用于打印出小组人员的名单:

using System

class Team

{

string[] s_name = new string[2];//定义字符串数组,记录小组人员姓名

public string this[int nIndex];//索引指示器声明,this为类Team类的对象

{

get        //用对象名[索引]得到小组人员姓名时,调用get方法

{

return s_name[nIndex];

}

set         //用对象名[索引]修改小组人员姓名时,调用set方法

{

s_name[nIndex] =value; //value为被修改值

}

}

}

class Test

{

public static void Main()

{

Team t1 = new Team();

t1[0]="张三";

t1[1]="李四";

Console.WriteLine("{0},{1}",t1[0], t1[1]);

}

}

 

输出结果如下:张三,李四

 

     这里我们可以看出,索引器是用来把一个对象,采用数组方式,访问它的成员变量,就像属性访问字段一样。另外,索引器可以重载。

posted @ 2012-03-25 02:11  渊博  阅读(212)  评论(1编辑  收藏  举报