url:
索引器(indexer)
索引器允許類或結構的例項按照與資料相同的方式進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用引數。所以索引器也被稱為有參屬性。
示例一:
using system ;
class arrclass//沒有索引器的類
public string name}}
class indexclass//帶索引器的類
set}
//索引器與屬性不同的是,這裡沒有屬性名,而是用this表示索引。
//索引的定義與方法不同的是,用方括號,而不是圓括號(),同時索引的定義中沒有方法名,只用this。
//索引的使用像陣列,都使用,但與陣列不同的是,陣列的中只能使用整數作下標,而索引的中可以使用各種型別。
//索引也可以過載,同乙個類中的多個索引要求引數列表(簽名)必須不同,即:或者引數個數不同,或者是引數型別不同,或者引數型別的順序不同。
}class test
}
-------------------------
索引器與陣列的比較
1>索引器的索引值(index)型別不受限為整數
用來訪問陣列的索引值(index),其型別一定為整數,然而索引器可以定義其他型別的索引值。
2>索引器允許過載(overloading)
乙個類並不限制只能夠定義乙個索引器,只要索引器的函式簽名不同,乙個類就可以擁有很多個索引器,你可以過載它的功能。
3>索引器不是乙個變數
索引和陣列不同的地方在於,索引器並沒有直接對應引用資料儲存的地方,而陣列則有。索引器有get訪問器與set訪問器,用來指明要讀取或寫入索引器元素時,需要執行的**。
---------------------------
索引器與屬性的不同點:
標識方式:屬性以名稱來標識;索引器則以函式簽名來標識。
索引器可以被過載:因為屬性時以名稱標識的,所以不能被過載;索引器是用函式簽名標識的,因此可以過載。
索引器不可以宣告為static:屬性可以為static,而索引器永遠屬於例項成員,不能為static
C 索引器 索引器與陣列屬性的比較
索引器 indexer 索引器允許類或結構的例項按照與資料相同的方式進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用引數。所以索引器也被稱為有參屬性。示例一 using system class arrclass 沒有索引器的類 public string name class indexc...
索引器與陣列 屬性的比較
索引器 indexer 索引器允許類或結構的例項按照與資料相同的方式進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用引數。所以索引器也被稱為有參屬性。索引器與陣列的比較 1 索引器的索引值 index 型別不受限為整數 用來訪問陣列的索引值 index 其型別一定為整數,然而索引器可以定義其...
C 索引器與屬性
索引器允許類或結構的例項按照與陣列相同的方式進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用引數。屬性 class sampleclass set 索引器 索引器使得物件可按照與陣列相似的方法進行索引。get 訪問器返回值。set 訪問器分配值。this 關鍵字用於定義索引器。value 關...