C# 教程
索引器(Indexer) 允許一個對象可以像數(shù)組一樣被索引。當您為類定義一個索引器時,該類的行為就會像一個 虛擬數(shù)組(virtual array) 一樣。您可以使用數(shù)組訪問運算符([ ])來訪問該類的實例。
一維索引器的語法如下:
索引器的行為的聲明在某種程度上類似于屬性(property)。就像屬性(property),您可使用 get 和 set 訪問器來定義索引器。但是,屬性返回或設置一個特定的數(shù)據(jù)成員,而索引器返回或設置對象實例的一個特定值。換句話說,它把實例數(shù)據(jù)分為更小的部分,并索引每個部分,獲取或設置每個部分。
定義一個屬性(property)包括提供屬性名稱。索引器定義的時候不帶有名稱,但帶有 this 關鍵字,它指向對象實例。下面的實例演示了這個概念:
當上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結果:
Zara Riz Nuha Asif Davinder Sunil Rubic N. A. N. A. N. A.
索引器(Indexer)可被重載。索引器聲明的時候也可帶有多個參數(shù),且每個參數(shù)可以是不同的類型。沒有必要讓索引器必須是整型的。C# 允許索引器可以是其他類型,例如,字符串類型。
下面的實例演示了重載索引器:
當上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結果:
Zara Riz Nuha Asif Davinder Sunil Rubic N. A. N. A. N. A. 2