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

首頁 > 學院 > 開發設計 > 正文

自己寫一個泛型集合類型,可實現添加和遍歷

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

自己寫一個泛型集合類型,可實現添加和遍歷

在"C#中List<T>是怎么存放元素的"中,分析了List<T>的源碼,了解了List<T>是如何存放元素的。這次,就自定義一個泛型集合類型,可實現添加元素,并支持遍歷。

該泛型集合類型一定需要一個添加元素的方法,在添加元素的時候需要考慮:當添加的元素超過當前數組的容量,就讓數組擴容;為了支持循環遍歷,該泛型集合類型必須提供一個迭代器(實現IEnumerator接口)。

    public class MyList<T>
    {
        T[] items = new T[5];
        PRivate int count;
        public void Add(T item)
        {
            if(count == items.Length)
               Array.Resize(ref  items, items.Length * 2);
            items[count++] = item;
        }
        public IEnumerator<T> GetEnumerator()
        {
            return new MyEnumeraor(this);
        }
        class MyEnumeraor : IEnumerator<T>
        {
            private int index = -1;
            private MyList<T> _myList;
            public MyEnumeraor(MyList<T> myList)
            {
                _myList = myList;
            }
            public T Current
            {
                get
                {
                    if (index < 0 || index >= _myList.count)
                    {
                        return default(T);
                    }
                    return _myList.items[index];
                }
            }
            public void Dispose()
            {
                
            }
            object System.Collections.IEnumerator.Current
            {

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太康县| 外汇| 襄垣县| 许昌市| 株洲县| 江津市| 九寨沟县| 临颍县| 万源市| 拉萨市| 闵行区| 龙岩市| 盐城市| 昌乐县| 休宁县| 江阴市| 沂水县| 宣武区| 云龙县| 烟台市| 哈巴河县| 息烽县| 尼玛县| 海淀区| 包头市| 萨迦县| 加查县| 筠连县| 丹棱县| 镇坪县| 韶关市| 田林县| 阿尔山市| 三门县| 阿鲁科尔沁旗| 呼和浩特市| 拉萨市| 大理市| 洞口县| 抚州市| 郓城县|