在C#中,索引器(Indexer)是一種特殊的屬性,允許對(duì)象像數(shù)組一樣被索引訪問。索引器允許您通過提供一個(gè)參數(shù)來訪問對(duì)象的元素,而不是通過對(duì)象的名稱。索引器通常用于創(chuàng)建類似于數(shù)組或集合的數(shù)據(jù)結(jié)構(gòu),使得可以通過索引來獲取或設(shè)置對(duì)象的值。
要使用索引器,需要在類中定義一個(gè)具有this關(guān)鍵字的屬性。以下是一個(gè)示例代碼:
public class MyCollection
{
private string[] data = new string[10];
public string this[int index]
{
get
{
return data[index];
}
set
{
data[index] = value;
}
}
}
在上面的示例中,MyCollection類定義了一個(gè)索引器,可以通過整數(shù)索引訪問類中的數(shù)據(jù)??梢韵袷褂脭?shù)組一樣使用這個(gè)索引器:
MyCollection collection = new MyCollection();
collection[0] = "Hello";
collection[1] = "World";
Console.WriteLine(collection[0]); // 輸出 Hello
Console.WriteLine(collection[1]); // 輸出 World
通過使用索引器,可以使類的使用更加靈活,使得可以通過索引訪問類中的元素,而不必暴露類的內(nèi)部實(shí)現(xiàn)。