在我們開發中常見的用到索引器的地方非常之多,索引器是一個非常微妙的特殊類的成員,它能夠讓對象以類似數組的方式來存取,當一個類包含了數組和集合成員時,索引器將大大簡化對數組或集合成員的存取操作。使程序看起來更為直觀,更容易編寫。
一.定義索引器
定義索引器的方式與定義屬性有些類似,其一般形式如下:
[修飾符] 數據類型 this[索引類型 index]
{
get{//獲得屬性的代碼}
set{ //設置屬性的代碼}
}
修飾符包括 public,protected,private,internal,new,virtual,sealed,override, abstract,extern.
數據類型是表示將要存取的數組或集合元素的類型。
索引器類型表示該索引器使用哪一類型的索引來存取數組或集合元素,可以是整數,可以是字符串;this表示操作本對象的數組或集合成員,可以簡單把它理解成索引器的名字,因此索引器不能具有用戶定義的名稱。
二.索引器的本質是類
三.創建一個索引器的例子
public class Person { //首先定義以一個數組 private string[] str = new string[2]; //添加索引器 public string this[int index] { get { return str[index]; } set { str[index] = value; } } }
在Main方法中調用
Person person=new Person(); //通過索引器的方式來賦值 person[0] = "張三"; person[1] = "李四"; Console.WriteLine(person[0] ); Console.WriteLine(erson[1]); Console.ReadKey();