什麼是索引器?

2021-09-19 06:23:25 字數 1135 閱讀 7313

什麼是索引器?

索引器是c#引入的乙個新型的類成員,它使的類中物件可以像陣列那樣方便、直觀的被引用。

索引器允許按照與陣列相同的方式對類、結構或介面進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用引數。它可以像陣列那樣對物件使用下標,另外,它還提供了通過索引方式方便地訪問類的資料資訊的方法。

1、索引器的定義

c#中的類成員可以是任意型別,包括陣列和集合。當乙個類包含了陣列和集合成員時,索引器將大大簡化對陣列或集合成員的訪問操作。

定義索引器的方式與定義屬性有些類似,其一般形式如下:

[修飾符] 資料型別 this[索引型別 index]

2.索引器具有以下特點:

索引器型別及其引數型別必須至少如同索引器本身一樣是可訪問的;

索引器的簽名由其形參的數量和型別組成,它不包括索引器型別或形參名。如果在同一類中宣告乙個以上的索引器,則它們必須具有不同的簽名;

索引器值不歸類為變數,因此,不能將索引器值作為ref或out引數來傳遞。

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

2、索引器允許類或結構的例項按照與陣列相同的方式進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用引數。

3、get 訪問器返回值。set 訪問器分配值。

4、this 關鍵字用於定義索引。

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

6、索引器不一定根據整數值進行索引,您可以根據程式設計要求指定引數型別。

7、索引器可被過載。

8、索引器可以有多個形參,例如當訪問二維陣列時。

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

4.索引器與陣列的比較:

1.索引器的索引值不(index)型別不受限為整數:用來訪問陣列的索引器,其型別只能是整數,索引器可以為其他型別。

2.索引器允許過載(overloading):乙個類並不限制只能定義乙個索引器,只要索引器函式簽名不同,乙個類可以擁有很多個索引器,可以過載他的功能。

3.索引器不是乙個變數:索引器並沒有直接對應應用資料儲存的地方,而陣列則有。索引器有get和set訪問器,用來讀取或寫入索引器元素時,需要執行的**。

什麼是索引?

mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可以有多個單列索引,...

什麼是索引?

mysql 資料庫舉例吧 一 什麼是索引?索引用來快速地尋找那些具有特定值的記錄,所有mysql索引都以b 樹的形式儲存。如果沒有索引,執行查詢時mysql必須從第乙個記錄開始掃瞄整個表的所有記錄,直至找到符合要求的記錄。表裡面的記錄數量越多,這個操作的代價就越高。如果作為搜尋條件的列上已經建立了索...

什麼是索引

索引的作用相當於圖書的目錄,可以根據目錄中的頁碼快速找到所需的內容。資料庫使用索引以找到特定值,然後順指標找到包含該值的行。在表中建立索引,然後在索引中找到符合查詢條件的索引值,最後通過儲存在索引中的rowid 相當於頁碼 快速找到表中對應的記錄。索引的建立是表中比較有指向性的字段,相當於目錄,比如...