最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

c#索引器學(xué)習(xí)

2021-10-18 01:19 作者:柯昌弟弟c  | 我要投稿

索引器:

索引器允許類或結(jié)構(gòu)的實例就像數(shù)組一樣進(jìn)行索引。 無需顯式指定類型或?qū)嵗蓡T,即可設(shè)置或檢索索引值。 索引器類似于屬性,不同之處在于它們的訪問器需要使用參數(shù)。

以下示例定義了一個泛型類,其中包含用于賦值和檢索值的簡單?get?和?set?訪問器方法。?Program?類創(chuàng)建了此類的一個實例,用于存儲字符串。

輸出:Hello, World

(????

????????在c#6.0可以 使用?

????????public T this[int i] => arr[i];

????????=>引入了表達(dá)式主體,可以不使用get關(guān)鍵字

????????日常中使用,發(fā)現(xiàn)底層多數(shù)是數(shù)組實現(xiàn),現(xiàn)在都用泛型List等封裝好的方法

技巧:

1.在定義索引器的時候,不一定只采用一個參數(shù),同一類中還可以擁有一個以上的索引器,也就是重載。
2.索引器的參數(shù)可以采用任何類型,不過int是最為合理的類型。

屬性和索引器差別

?1.類的每一個屬性都必須擁有唯一的名稱,而類里定義的每一個索引器都必須擁有唯一的簽名(signature)或者參數(shù)列表(這樣就可以實現(xiàn)索引器重載)。?

?2.屬性可以是static(靜態(tài)的)而索引器則必須是實例成員。?

?3.為索引器定義的訪問函數(shù)可以訪問傳遞給索引器的參數(shù),而屬性訪問函數(shù)則沒有參數(shù)。?

接口(interface):

類似數(shù)組的行為常受到程序?qū)崿F(xiàn)者的喜愛,所以你還可以為接口定義索引器,IList和 IDictionary集合接口都聲明了索引器以便訪問其存儲的項目。? 在為接口聲明索引器的時候,記住聲明只是表示索引器的存在。你只需要提供恰當(dāng)?shù)脑L問函數(shù)即可,不必包括范圍修飾符。以下代碼把索引器聲明為接口IImplementMe的一部分:

interface IImplementMe {? string this[int index]? {? get;? set;? }?

相應(yīng)實現(xiàn)的類則必須為IimplementMe的索引器具體定義get和set訪問函數(shù)。?


(大部分內(nèi)容來自https://docs.microsoft.com/的C#API文檔)

最開始接觸索引器是來自同事,但是使用之后(個人感想)我覺得索引器并不能在多數(shù)場合下使用,在實際的這次使用中也發(fā)現(xiàn)邏輯不通順的情況,所以重新在學(xué)習(xí)一下。

c#索引器學(xué)習(xí)的評論 (共 條)

分享到微博請遵守國家法律
辉南县| 雅江县| 宁武县| 伊金霍洛旗| 慈利县| 卫辉市| 贵德县| 兰坪| 科技| 黔南| 堆龙德庆县| 上林县| 万荣县| 朝阳县| 汤原县| 闽侯县| 梨树县| 哈尔滨市| 保康县| 定西市| 昭通市| 贵定县| 自贡市| 安福县| 大同市| 阳朔县| 民和| 大英县| 鄱阳县| 灵寿县| 临潭县| 岳阳县| 西林县| 谷城县| 洱源县| 荆门市| 达州市| 桐乡市| 遵义市| 吉安市| 工布江达县|