国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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í)的評論 (共 條)

分享到微博請遵守國家法律
涪陵区| 五莲县| 安乡县| 武强县| 枣庄市| 屏边| 天峨县| 广饶县| 横山县| 册亨县| 来凤县| 渑池县| 兰西县| 环江| 天门市| 普兰店市| 拉孜县| 武城县| 东光县| 江川县| 砀山县| 大埔区| 孟津县| 红桥区| 新营市| 自贡市| 安福县| 尼木县| 巴林左旗| 宝鸡市| 乾安县| 绵竹市| 大名县| 黑水县| 深州市| 利津县| 遂昌县| 茂名市| 疏勒县| 卢龙县| 浦东新区|