程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> .NET基礎之集合,.net集合

.NET基礎之集合,.net集合

編輯:C#入門知識

.NET基礎之集合,.net集合


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

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

 

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

  • IEnumerable可以迭代集合中的項。這個接口中的唯一方法GetEnumerator()可以迭代集合中的各項。使用foreach結構的對象必須要實現這個方法
  • ICollection(繼承與IEnumerable)可以獲取集合中項的個數,並能把項復制到一個簡單的數組類型中。ICollection中有CopyTo(System.Array array,int index)方法和Count屬性
  • IList(繼承於IEnumberable和ICollection)提供了集合的項列表,並可以訪問這些項,以及其他一些與項列表有關的功能。Public class Animal { //類成員 }

          實現它的集合:

    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,使可以通過關鍵字訪問

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

    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;
            }
        }
    }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved