索引器允許類和結(jié)構(gòu)的實(shí)例按照與數(shù)組相同的方式進(jìn)行索引,索引器類似與屬性,不同之處在于他們的訪問器采用參數(shù)。被稱為有參屬性。
簡單的索引器實(shí)例:
class Program
{
static void Main(string[] args)
{
IndexClass a = new IndexClass();
a[0] = "張三";
a[1] = "李四";
a[2] = "王五";
Console.WriteLine("a[0]=" a[0]);
Console.WriteLine("a[1]=" a[1]);
Console.WriteLine("a[2]=" a[2]);
Console.ReadKey();
}
}
class IndexClass
{
private string[] name = new string[10];
public string this[int index]
{
get { return name[index]; }
set { this.name[index] = value; }
}
}
索引器與數(shù)組的比較:
索引器的索引值不受類型限制。用來訪問數(shù)組的索引值一定是整數(shù),而索引器可以是其他類型的索引值。
索引器允許重載,一個(gè)類可以有多個(gè)索引器。
索引器不是一個(gè)變量沒有直接對應(yīng)的數(shù)據(jù)存儲(chǔ)地方。索引器有g(shù)et和set訪問器。