国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

.NET基礎之集合

2019-11-17 02:45:48
字體:
來源:轉載
供稿:網友

.NET基礎之集合

集合可以說是數(shù)組的超集,集合可以維護對象數(shù)組,集合包含了更高級的功能。例如控制對其包含的對象的訪問、搜索和排序等。數(shù)組是固定的,一旦我們創(chuàng)建好了數(shù)組,不能在現(xiàn)有數(shù)組的末尾添加新項,除非我們創(chuàng)建新的數(shù)組。

C#中的數(shù)組實現(xiàn)為System.Array類的實例,它們只是集合類中的一種,集合類的功能重要通過實現(xiàn)System.Collection名稱空間中的接口而獲得的。

 

System.Collection名稱空間中的幾個接口提供了基本的功能集合:

  • IEnumerable可以迭代集合中的項。這個接口中的唯一方法GetEnumerator()可以迭代集合中的各項。使用foreach結構的對象必須要實現(xiàn)這個方法
  • ICollection(繼承與IEnumerable)可以獲取集合中項的個數(shù),并能把項復制到一個簡單的數(shù)組類型中。ICollection中有CopyTo(System.Array array,int index)方法和Count屬性
  • IList(繼承于IEnumberable和ICollection)提供了集合的項列表,并可以訪問這些項,以及其他一些與項列表有關的功能。IList
  • IDictionary(繼承于IEnumerable和ICollection)類似于IList,但提供了通過鍵碼值而不是索引訪問的項列表。          IDictionary

System.Array類實現(xiàn)了IList,ICollection,IEnumerable,但不支持IList的一些高級功能。

 

如何自定義集合類

    Collection類有接口IEnumerable,ICollection和IList,可以使用其提供的List和InnerList兩個受保護的屬性,它們可以訪問存儲的對象本身。

有一個Animal類:

Public class Animal{    //類成員}

      實現(xiàn)它的集合:

Public class Animals : CollectionBase{    public void Add(Animal newAnimal)    {        List.Add(newAnimal);    }    public void Remove(Animal oldAnimal)    {        List.Remove(oldAnimal);    }    public Animals()    {    }}

如果要通過索引訪問,就要添加索引符。添加索引符如下:

public class Animals : CollectionBase{    ...    public Animal this[int animalIndex]    {        get        {            return (Animal)List[animalIndex];        }        set        {            List[animalIndex] = value;        }    }}

自定義Dictionary,使可以通過關鍵字訪問

和上一個集合的實現(xiàn)例子非常類似,但是還是有一定的差別。要實現(xiàn)IDictionary接口,所以我們可以繼承DictionaryBase,具體細節(jié)如下:

public class Animals : DictionaryBase{    public void Add(string newID, Animal newAnimal)    {        Dictionary.Add(newID, newAnimal);    }        public void Remove(string oldID)    {        Dictionary.Remove(oldID);    }        public Animals() {}    public Animal this[string animalID]    {        get        {            return (Animal)Dictionary[animalID];        }        set        {            Dictionary[animalID] = value;        }    }}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 乌海市| 鸡泽县| 井研县| 类乌齐县| 稻城县| 青海省| 商水县| 中牟县| 确山县| 麻阳| 临朐县| 阿拉善右旗| 昆山市| 佛坪县| 晋城| 璧山县| 镇平县| 襄汾县| 富锦市| 嘉善县| 厦门市| 鹰潭市| 东光县| 三江| 勃利县| 灵宝市| 蒙自县| 东台市| 商南县| 扬中市| 郴州市| 道真| 保靖县| 元谋县| 民丰县| 社会| 鹤庆县| 大港区| 邵阳市| 藁城市| 新兴县|