還是讓我們先來看一下索引指示器的聲明格式:
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]);
}
}
在許多情況下,某些數據信息應該是屬於類或類的實例所私有的,需要限制對這些信息的訪問。而我們有時又不希望這類數據對外界完全封閉。和屬性一樣,索引指示器為我們提供了控制訪問權限的另一種方法。