C# 集合整理

來源:互聯網
上載者:User

           

                          StringCollection,Array,ArrayList,IList,Item,Queue,Stack,Hashtable,SortedList

           當需要大小可按需動態增加,並希望通過索引來進行訪問的數組的時候,使用ArrayList .
           當需要一個能實現後進先出的集合時,使用Stack.
           當需要一個先進先出的集合時,使用Queue.
           當需要一個可以按Key值來查詢的數組是,使用Hashtable.
           當需要一個按順序排列的集合時,SortedList.
Csdn Help:

一定要謹慎選擇 類。選用錯誤的類型可能限制您使用集合。

考慮以下問題:

  • 您是否需要一個序列列表,其中的元素通常在檢索其值後被放棄?

    • 如果需要,那麼在需要先進先出 (FIFO) 行為時請考慮使用 類或 泛型類。在需要後進先出 (LIFO) 行為時請考慮使用 類或 泛型類。

    • 如果不需要,請考慮使用其他集合。

  • 是否需要以某種順序訪問元素,例如 FIFO、LIFO 或隨機訪問?

    • Queue 類和 Queue 泛型類提供 FIFO 訪問。

    • Stack 類和 Stack 泛型類提供 LIFO 訪問。

    • 泛型類允許從開頭到末尾或從末尾到開頭按順序訪問。

    • 其餘的集合提供隨機訪問。

  • 是否需要通過索引訪問每一元素?

    • 和 類以及 泛型類通過元素的從零開始的索引提供對元素的訪問。

    • 、、 和 類以及 和 泛型類通過元素的鍵提供對元素的訪問。

    • 和 類以及 和 泛型類通過其元素的從零開始的索引或者通過其元素的鍵提供對元素的訪問。

  • 每一元素將包含一個值、一個鍵和一個值的組合還是一個鍵和多個值的組合?

    • 一個值:使用任何基於 介面或 泛型介面的集合。

    • 一個鍵和一個值:使用任何基於 介面或 泛型介面的集合。

    • 帶有嵌入的鍵的一個值:使用 泛型類。

    • 一個鍵和多個值:使用 NameValueCollection 類。

  • 是否需要用與輸入元素方式不同的方式對元素排序?

    • Hashtable 類按其元素的雜湊碼對元素排序。

    • SortedList 類以及 SortedDictionarySortedList 泛型類根據 介面和 泛型介面的實現按鍵對元素排序。

    • ArrayList 提供 方法,該方法接受 IComparer 實現作為參數。其對應的泛型類(List 泛型類)提供 方法,該方法接受 IComparer 泛型介面的實現作為參數。

  • 是否需要資訊的快速搜尋和檢索?

    • 對於小集合(10 項或更少),ListDictionaryHashtable 快。SortedDictionary 泛型類提供比 Dictionary 泛型類更快的尋找。

  • 是否需要只接受字串的集合?

    • StringCollection(基於 IList)和 StringDictionary(基於 IDictionary)都位於 命名空間中。

    • 此外,通過為泛型型別參數指定 類,可以使用 命名空間中的任何泛型集合類作為強型別字串集合。

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.