C#索引器的用法

這篇文章主要介紹“C#索引器的用法”,在日常操作中,相信很多人在C#索引器的用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#索引器的用法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習吧!

曲沃網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),曲沃網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為曲沃成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的曲沃做網(wǎng)站的公司定做!

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

public type this [int index]  {  get  {  //...  }  set  {  //...  }  }

用例子簡單說明:

using System.Collections;   static void Main(string[] args)  {  //調(diào)用IntBits.IntBits方法,意為將63賦給bits  IntBits bits = new IntBits(63);  //獲得索引6的bool值,此時 bits[6]將調(diào)用索引器"public bool this[int index]"中的Get,值為True  bool peek = bits[6];  Console.WriteLine("bits[6] Value: {0}",peek);  bits[0] = true;  Console.WriteLine();   Console.ReadKey();  }   struct IntBits  {  private int bits;  public IntBits(int initialBitValue)  {  bits = initialBitValue;  Console.WriteLine(bits);  }  //定義索引器  //索引器的“屬性名”是this,意思是回引類的當前實例,參數(shù)列表包含在方括號而非括號之內(nèi)。  public bool this [int index]  {  get  {  return true;  }  set  {  if (value)  {  bits = 100;  }  }  }

備注:

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

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

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

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

屬性和索引器

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

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

到此,關(guān)于“C#索引器的用法”的學(xué)習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習,快去試試吧!若想繼續(xù)學(xué)習更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

文章題目:C#索引器的用法
文章源于:http://bm7419.com/article26/pssgjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)面包屑導(dǎo)航、網(wǎng)站收錄、品牌網(wǎng)站制作App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)