類的每一個屬性都必須擁有一個唯一的名稱,而類裡定義的每一個索引器都必須擁有唯一的簽名
或者參數列表,這樣就可以實現索引器重載。屬性可以是static,而索引器必須是執行個體成員。為索
引器定義的訪問函數可以訪問傳遞給索引器的參數,而屬性訪問函數則沒有參數我們也可以為接
口定義索引器,在為介面聲明索引器的時候,記住聲明只是表示索引器的存在,你只需要提供恰
當的訪問函數即可不必包括修飾符。
看下面案例:
ITestIndex.cs檔案
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace AlgorithmDemo{ interface ITestIndex { string this[int index] { get; set; } }}TestIndex.cs檔案
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace AlgorithmDemo{ class TestIndex<T> { private T[] arr = new T[100]; public T this[int i] { get { return arr[i]; } set { arr[i] = value;} } }}Program.cs
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace AlgorithmDemo{ class Program { static void Main(string[] args) { TestIndex<string> test = new TestIndex<string>(); string data = "hello,world!"; for (int i = 0; i < data.Length; i++) { test[i] = data[i].ToString(); } for (int i = 0; i < data.Length; i++) { Console.Write(test[i]); } while (true) ; } } } 效果圖: