還是讓我們先來看一下索引指示器的聲明格式:
attributes indexer-modifiers indexer-declarator
{accessor-declarations}
索引指示器可以使用的修飾符indexer-modifier有:
●new
●public
●protected
●internal
●private
●virtual
●sealed
●override
●abstract
一對大括號“{}”之間是索引指示器的訪問聲明,使用get關鍵字和set關鍵字定義了對被索引的元素的讀寫權限。
例如,下面的例子用於打印出小組人員的名單。
程序清單13-4:
using System; class Team { string s_name=new string[8]; public string this[int nIndex] { get{ return s_name[nIndex]; } set{ s_name[nIndex]=value; } } } class Test { public static void Main(){ Team t1=new Team(); for(int i=0;i<6;i++) Console.WriteLine(t1[i]); } }
在許多情況下,某些數據信息應該是屬於類或類的實例所私有的,需要限制對這些信息的訪問。而我們有時又不希望這類數據對外界完全封閉。和屬性一樣,索引指示器為我們提供了控制訪問權限的另一種方法。