詳細描述C 索引器

2021-06-11 11:37:23 字數 1008 閱讀 3811

簡單說來,所謂c#索引器就是一類特殊的屬性,通過它們你就可以像引用陣列一樣引用自己的類。宣告方法如下(與屬性相似):

public type this [int index]  

set  

}  

用例子簡單說明:

using system.collections;  

static void main(string args)  

",peek);  

bits[0] = true;  

console.writeline();  

console.readkey();  

}  struct intbits  

//定義索引器  

//索引器的「屬性名」是this,意思是回引類的當前例項,引數列表包含在方括號而非括號之內。  

public bool this [int index]  

set  

}  }

備註:

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

◆get 訪問器返回值。set 訪問器分配值。 

◆this 關鍵字用於定義索引器。 

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

索引器不必根據整數值進行索引,由您決定如何定義特定的查詢機制。索引器可被過載。 索引器可以有多個形參,例如當訪問二維陣列時。索引器可以使用百數值下標,而陣列只能使用整數下標:如下列定義乙個string下標的索引器

public int this [string name]   

屬性和索引器

屬性和索引器之間有好些差別:

類的每乙個屬性都必須擁有唯一的名稱,而類裡定義的每乙個c#索引器都必須擁有唯一的簽名(signature)或者引數列表(這樣就可以實現索引器重載)。 屬性可以是static(靜態的)而索引器則必須是例項成員。 為c#索引器定義的訪問函式可以訪問傳遞給索引器的引數,而屬性訪問函式則沒有引數。

ArrayList詳細描述

arraylist和vector都是使用陣列方式儲存資料,此陣列元素數大於實際儲存的資料以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及陣列元素移動等記憶體操作,所以索引資料快而插入資料慢,vector由於使用了synchronized方法 執行緒安全 通常效能上較arrayli...

QWidget類詳細描述

qwidget類是所有使用者介面物件的基類。qwidget qwidget parent 0,const char name 0,wflags f 0 視窗部件是使用者介面的乙個原子 它從視窗系統接收滑鼠 鍵盤和其它事件,並且在螢幕上繪製自己的表現。每乙個視窗部件都是矩形,並且它們按z軸順序排列的。...

S3C2440時鐘詳細描述

s3c2440 cpu預設的工作主頻為12mhz或16.9344mhz,這裡使用最多的是12m。使用pll電路可以產生更高的主頻供cpu及外圍器件使用。s3c2440有兩個pll mpll和upll,upll專用與usb裝置。mpll用於cpu及其他外圍器件。通過mpll會產生三個部分的時鐘頻率 f...