索引器 索引器與陣列屬性的比較

2021-07-11 11:33:37 字數 1075 閱讀 9903

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 關...