自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳細描述C#索引器

開發(fā) 后端
本文介紹C#索引器,簡單說來,所謂C#索引器就是一類特殊的屬性,通過它們你就可以像引用數(shù)組一樣引用自己的類。

簡單說來,所謂C#索引器就是一類特殊的屬性,通過它們你就可以像引用數(shù)組一樣引用自己的類。聲明方法如下(與屬性相似):

  1. public type this [int index]  
  2. {  
  3. get  
  4. {  
  5. //...  
  6. }  
  7. set  
  8. {  
  9. //...  
  10. }  
  11. }  

用例子簡單說明:

  1. using System.Collections;  
  2.  
  3. static void Main(string[] args)  
  4. {  
  5. //調(diào)用IntBits.IntBits方法,意為將63賦給bits  
  6. IntBits bits = new IntBits(63);  
  7. //獲得索引6的bool值,此時 bits[6]將調(diào)用索引器"public bool this[int index]"中的Get,值為True  
  8. bool peek = bits[6];  
  9. Console.WriteLine("bits[6] Value: {0}",peek);  
  10. bits[0] = true;  
  11. Console.WriteLine();  
  12.  
  13. Console.ReadKey();  
  14. }  
  15.  
  16. struct IntBits  
  17. {  
  18. private int bits;  
  19. public IntBits(int initialBitValue)  
  20. {  
  21. bits = initialBitValue;  
  22. Console.WriteLine(bits);  
  23. }  
  24. //定義索引器  
  25. //索引器的“屬性名”是this,意思是回引類的當(dāng)前實例,參數(shù)列表包含在方括號而非括號之內(nèi)。  
  26. public bool this [int index]  
  27. {  
  28. get  
  29. {  
  30. return true;  
  31. }  
  32. set  
  33. {  
  34. if (value)  
  35. {  
  36. bits = 100;  
  37. }  
  38. }  

備注:

所有C#索引器都使用this關(guān)鍵詞來取代方法名。Class或Struct只允許定義一個索引器,而且總是命名為this。

索引器允許類或結(jié)構(gòu)的實例按照與數(shù)組相同的方式進行索引。索引器類似于屬性,不同之處在于它們的訪問器采用參數(shù)。
◆get 訪問器返回值。set 訪問器分配值。
◆this 關(guān)鍵字用于定義索引器。
◆value 關(guān)鍵字用于定義由 set 索引器分配的值。

索引器不必根據(jù)整數(shù)值進行索引,由您決定如何定義特定的查找機制。索引器可被重載。 索引器可以有多個形參,例如當(dāng)訪問二維數(shù)組時。索引器可以使用百數(shù)值下標(biāo),而數(shù)組只能使用整數(shù)下標(biāo):如下列定義一個String下標(biāo)的索引器

  1. public int this [string name] {...}  

屬性和索引器

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

類的每一個屬性都必須擁有***的名稱,而類里定義的每一個C#索引器都必須擁有***的簽名(signature)或者參數(shù)列表(這樣就可以實現(xiàn)索引器重載)。 屬性可以是static(靜態(tài)的)而索引器則必須是實例成員。 為C#索引器定義的訪問函數(shù)可以訪問傳遞給索引器的參數(shù),而屬性訪問函數(shù)則沒有參數(shù)。

【編輯推薦】

  1. 簡單介紹C#預(yù)處理
  2. 學(xué)習(xí)C#無詞尾符號經(jīng)驗談
  3. C#調(diào)用QuickTest自動化
  4. 詳解C#正規(guī)表達式
  5. C#字符串插入html標(biāo)簽
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-08-26 15:53:48

C#擴展方法

2009-09-07 15:15:43

2009-08-27 15:17:40

C# const變量

2009-09-03 17:59:18

C#調(diào)用事件

2010-04-09 17:45:06

Oracle索引

2009-09-14 13:14:49

LINQ序列

2009-09-14 14:58:52

LINQ to XML

2009-09-14 16:33:55

LINQ To XML

2009-09-24 16:19:53

Hibernate應(yīng)用

2009-09-25 14:28:40

Hibernate S

2009-08-31 17:53:20

C#實現(xiàn)索引器

2009-11-18 11:14:49

2010-02-05 16:58:18

Android服務(wù)

2009-09-08 11:09:39

LINQ數(shù)據(jù)源

2009-09-25 11:04:32

Hibernate3實

2009-10-15 14:59:45

網(wǎng)絡(luò)布線光纖技術(shù)

2009-10-10 10:04:50

RHEL合法使用

2009-10-13 17:16:40

VB.NET Web服

2009-10-15 15:04:42

VB.NET PadL

2009-10-16 11:02:40

VB調(diào)用動態(tài)連接庫
點贊
收藏

51CTO技術(shù)棧公眾號