位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > C# > 問(wèn)題詳情

C# 集合

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-07

    C#中的數(shù)組實(shí)現(xiàn)為System.Array類的實(shí)例,它們只是集合類(Collection Class)中的一種類型。集合類一般用于處理對(duì)象列表,其功能比簡(jiǎn)單數(shù)組要多,功能大多是通過(guò)實(shí)現(xiàn)System.Collections名稱空間中的接口而獲得的,因此集合的語(yǔ)法己經(jīng)標(biāo)準(zhǔn)化了。這個(gè)名稱空間還包含其他一些有趣的東西,例如,以不同于SystemAmy的方式實(shí)現(xiàn)這些接口的類。

    集合的功能(包括基本功能,例如,用[index]語(yǔ)法訪問(wèn)集合中的項(xiàng))可以通過(guò)接口來(lái)實(shí)現(xiàn),所以不僅可以使用基本集合類,例如Sj/stem.Array,還可以創(chuàng)建自己的定制集合類。這些集合可以專用于要枚舉的對(duì)象(即要從中建立集合的對(duì)象)。這么做的一個(gè)優(yōu)點(diǎn)是定制的集合類可以是強(qiáng)類型化的。也就是說(shuō),從集合中提取項(xiàng)時(shí),不需要把它們轉(zhuǎn)換為正確類型。另一個(gè)優(yōu)點(diǎn)是提供專用的方法,例如,可以提供獲得項(xiàng)子集的快捷方法。在撲克牌示例中,可以添加一個(gè)方法,來(lái)獲得特定花色中的所有Card項(xiàng)。


System.Collections名稱空間中的以下幾個(gè)接口提供了基本的集合功能:

    ?lEnumerable——可以迭代集合中的項(xiàng)。

    ?ICoIlection——繼承于IEnumerable??梢垣@取集合中項(xiàng)的個(gè)數(shù),并能把項(xiàng)復(fù)制到一個(gè)簡(jiǎn)單的數(shù)組類型中。

    ?IList——繼承于IEnumerable和ICoIlection。提供了集合的項(xiàng)列表,允許訪問(wèn)這些項(xiàng),并提供其他一些與項(xiàng)列表相關(guān)的基本功能。

    ?IDictionary——繼承于IEnumerable和ICoIlection。類似于IList,但提供了可通過(guò)鍵值(而不是索引)訪問(wèn)的項(xiàng)列表。

System.Array類實(shí)現(xiàn)了IList, ICollection和IEnumerable,但不支持IList的一些更高級(jí)功能,它表示大小固定的項(xiàng)列表。

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部