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