熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C# 索引器

2013-11-13 10:09:22  來源: .NET編程 

  索引器定義類似於屬性但其功能與屬性並不相同索引器提供一種特殊的方法編寫get和set訪問器屬性可以像訪問字段一樣訪問對象的數據索引器可以使用戶像訪問數組一樣訪問類成員定義索引器的語法如下:

  <訪問修飾符> 類型名稱 this [類型名稱 參數名]

  {

  get{//獲得屬性的代碼}

  set{ //設置屬性的代碼}

  }

  索引器沒有像屬性和方法那樣的名字關鍵字this清楚地表達了索引器引用對象的特征和屬性一樣value關鍵字在set後的語句塊裡有參數傳遞意義

  和方法一樣索引器有種存取保護級別newpublicprotectedinternalprivate種繼承行為修飾virtualsealedoverrideabstract以及外部索引器這些行為同方法沒有任何差別唯一不同的是索引器不能為靜態(static)這在對象引用的語義下很容易理解值得注意的是在重寫(override)實現索引器時應該用base[E]來存取父類的索引器

  和屬性的實現一樣索引器的數據類型同時為get語句塊的返回類型和set語句塊中value關鍵字的類型

  索引器的參數列表也是值得注意的地方索引的特征使得索引器必須具備至少一個參數該參數位於this關鍵字之後的中括號內索引器的參數也只能是傳值類型不可以有ref(引用)和out(輸出)修飾參數的數據類型可以是C#中的任何數據類型C#根據不同的參數簽名來進行索引器的多態辨析中括號內的所有參數在get和set下都可以引用而value關鍵字只能在set下作為傳遞參數

  定義索引器應注意以下內容:

  所有索引器都使用this關鍵詞來取代方法名Class或Struct只允許定義一個索引器而且總是命名為this

  索引器允許類或結構的實例按照與數組相同的方式進行索引索引器類似於屬性不同之處在於它們的訪問器采用參數

  get 訪問器返回值set 訪問器分配值

  this 關鍵字用於定義索引

  value 關鍵字用於定義由 set 索引器分配的值

  索引器不一定根據整數值進行索引您可以根據編程要求指定參數類型

  索引器可被重載

  索引器可以有多個形參例如當訪問二維數組時

  索引器的方括號中可以是任意參數列表


From:http://tw.wingwit.com/Article/program/net/201311/12727.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.