在C#中,索引器(Indexer)是一種特殊的屬性,允許類或結構體的實例像數組一樣使用索引來訪問對象的元素。使用索引器可以使類或結構體更接近于數組的行為,方便訪問和操作對象的元素。
要使用索引器,需要在類或結構體中定義一個具有this關鍵字的屬性。下面是一個示例:
public class MyCollection
{
private List<int> myList = new List<int>();
public int this[int index]
{
get
{
return myList[index];
}
set
{
myList[index] = value;
}
}
}
在上面的示例中,定義了一個MyCollection類,其中包含一個名為this的索引器屬性。這個索引器屬性接受一個int類型的索引,然后根據索引值獲取或設置myList集合中對應位置的元素。
使用索引器的方式如下:
MyCollection collection = new MyCollection();
collection[0] = 10; // 設置第一個元素的值為10
int value = collection[0]; // 獲取第一個元素的值
通過索引器,我們就可以像操作數組一樣操作MyCollection類的實例,非常方便和靈活。