c 索引器學習筆記1

2021-09-30 04:09:34 字數 1446 閱讀 6627

索引器提供了一種對類內部元素的訪問方法,通過索引器,我們可以方便的控制對元素的訪問,它其實就是帶引數的屬性。索引器一般用在類內部有陣列的情況,不論是基本資料型別陣列,還是類陣列(主要靠arraylist實現)。

先看個簡單的例子,它實現了單一整形輸入引數的索引器。

class a

private int id = new int[10];

public int this [int index]

getif (index>=0 && index<=9)

return id[index];

else

return -1;

set以後就可以通過  例項名加[數字]  的方式訪問id中的元素了。

下來換個引數為字串的,實際上只要把索引器看成乙個函式就行了。

class b

private string clientname = new string[121];

public string this[string index]

set

}訪問時採用如下格式:

b b = new b();

b["0"] = "tom";

上面的例子都是使用靜態陣列,下面換個動態的看看,使用下hashtable。

class c

private hashtable a = new hashtable();

public string this[string key]

return null;

}set

}訪問如下:

c c = new c();

c["tom's nickname"] = "tommy";

再看看多引數的情況,使用類陣列。

先宣告乙個類,類似c中的結構體儲存資料。

class info

public string name

set

}public int courseid

set

}public int score

set }}

然後再宣告含有索引器的類:

class infoarray

public int this[string name, int id]

}return -1;

}set

}public arraylist this[string name]

return l;}}

}訪問則為:

使用多個引數的索引器:

infoarray arr = new infoarray();

arr["tom", 1] = 100;

arr["tom", 2] = 99;

arr["lily", 1] = 100;

使用乙個引數的索引器:

arraylist l = arr["tom"];

foreach (info i in l)

C 索引器學習筆記

本筆記摘抄自 記錄一下學習過程以備後續查用。索引器允許類或者結構的例項按照與陣列相同的方式進行索引取值,索引器與屬性類似,不同的是索引器的訪問是帶參的。索引器和陣列比較 1 索引器的索引值 index 型別不受限制 2 索引器允許過載 3 索引器不是乙個變數 索引器和屬性的不同點 1 屬性以名稱來標...

C 學習筆記 屬性 索引器

屬性 property 是表達事物的狀態的,屬性的訪問方式可以是讀 讀取 也可以是寫 存放 讀 寫屬性分別用get及set來進行表示。修飾符 型別名 屬性名 set 由此可見,在c 中,屬性更好的表達了事物的狀態的設定和獲取。所以在c 中,一般採取以下原則 若在類的內部記錄事物的狀態資訊,則用字段變...

C 索引器(C 學習筆記05)

索引器能夠使物件像陣列一樣被索引,使用陣列的訪問方式 object x 索引器的宣告在某種程度上類似於屬性的宣告,例如,使用 get 和 set 方法來定義乙個索引器。不同的是,屬性值的定義要求返回或設定乙個特定的資料成員,而索引器的定義要求返回或設定的是某個物件例項的乙個值,即索引器將例項資料切分...