C#索引器是一種特殊的屬性,允許通過索引訪問類或結構中的元素。通過定義索引器,可以將類或結構的實例看作是一個數組或集合,可以使用索引訪問其中的元素。
索引器的定義包括以下幾個部分:
訪問修飾符:指定索引器的訪問級別,如public、private等。
返回類型:指定索引器返回的元素類型。
this關鍵字:用于表示當前類或結構的實例。
索引參數:指定用于訪問元素的索引類型和名稱。
get訪問器:用于獲取索引器中指定索引位置的元素的值。
set訪問器:用于設置索引器中指定索引位置的元素的值。
以下是一個示例代碼,演示了如何定義一個索引器:
public class MyCollection
{
private string[] elements = new string[5];
public string this[int index]
{
get
{
return elements[index];
}
set
{
elements[index] = value;
}
}
}
在上面的示例中,MyCollection類定義了一個名為elements的私有字符串數組,并通過索引器this[int index]來訪問其中的元素。通過get訪問器可以獲取指定索引位置的元素值,而通過set訪問器可以設置指定索引位置的元素值。
使用索引器時,可以像訪問數組一樣使用方括號[]來訪問元素。例如:
MyCollection collection = new MyCollection();
collection[0] = "Hello";
string value = collection[0];
Console.WriteLine(value); // 輸出:Hello
上面的代碼通過索引器將"Hello"賦值給了集合的第一個元素,然后通過索引器獲取并輸出了該元素的值。