簡單說來
聲明方法如下(與屬性相似)
//修飾符 類型名稱 this [類型名稱 參數名]
public type this [int index]
{
get
{
//
}
set
{
//
}
}
用例子簡單說明
using System
static void Main(string[] args)
{
//調用IntBits
IntBits bits = new IntBits(
//獲得索引
bool peek = bits[
Console
bits[
Console
Console
}
struct IntBits
{
private int bits;
public IntBits(int initialBitValue)
{
bits = initialBitValue;
Console
}
//定義索引器
//索引器的
public bool this [int index]
{
get
{
return true;
}
set
{
if (value)
{
bits =
}
}
}
備注:
所有索引器都使用this關鍵詞來取代方法名
索引器允許類或結構的實例按照與數組相同的方式進行索引
get 訪問器返回值
this 關鍵字用於定義索引器
value 關鍵字用於定義由 set 索引器分配的值
索引器不必根據整數值進行索引
索引器可被重載
索引器可以有多個形參
索引器可以使用百數值下標
public int this [string name] {
屬性和索引器
屬性和索引器之間有好些差別
類的每一個屬性都必須擁有唯一的名稱
屬性可以是static(靜態的)而索引器則必須是實例成員
為索引器定義的訪問函數可以訪問傳遞給索引器的參數
From:http://tw.wingwit.com/Article/program/net/201311/12958.html