快速了解c 中的索引器

2021-05-25 00:55:12 字數 1118 閱讀 3392

快速了解c#中的索引器

c#中的索引器是新增加的,和屬性有些不同。在c#中,屬性可以是這樣的:

class person 

set }}

屬性宣告可以如下編碼: 

person p = new person();

p.firstname = "tom";

console.writeline (p.firstname);

屬性宣告倒更像是域宣告,只不過它還宣告了兩個特殊的成員,按照微軟的說法就是所謂的訪問函式(accessor)。當某一表示式的右邊呼叫屬性或者屬性用作其他子程式(或者函式)的引數時即會呼叫get訪問函式。反之,當表示式左邊呼叫屬性並且通過隱式傳遞value引數設定私有域值的情況下就會呼叫set訪問函式。

索引器(indexer)是c#引入的乙個新型的類成員,它使得物件可以像陣列那樣被方便,直觀的引用。索引器非常類似於我們前面講到的屬性,但索引器可以有引數列表,且只能作用在例項物件上,而不能在類上直接作用。下面是個例子:

using system;

namespace indexerexample

set} }

class mymainclass

: ",i,indexerobj[i]);}}

} }可見,我們象通過陣列那樣,訪問到了其中的元素,而通過

mypreviou***p indexerobj = new mypreviou***p();

建立了索引器,再通過

indexerobj[0] = "ams"

indexerobj[3] = "hcl"

indexerobj[5] = "acc"

設定值最後輸出為:

mycompanies 0 : ams

mycompanies 1 :

mycompanies 2 :

mycompanies 3 : hcl

mycompanies 4 :

mycompanies 5 : acc

mycompanies 6 : null

mycompanies 7 : null

mycompanies 8 : null

mycompanies 9 : null

快速了解c 中的索引器

c 中的索引器是新增加的,和屬性有些不同。在c 中,屬性可以是這樣的 class person set 屬性宣告可以如下編碼 person p new person p.firstname tom console.writeline p.firstname 屬性宣告倒更像是域宣告,只不過它還宣告了兩...

mysql檔案索引器 快速了解c 中的索引器

class person set 屬性宣告可以如下編碼 person p new person p.firstname tom console.writeline p.firstname 屬性宣告倒更像是域宣告,只不過它還宣告了兩個特殊的成員,按照微軟的說法就是所謂的訪問函式 accessor 當某...

快速了解MySQL 索引

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