c# 中常用的對集合的用法

滄海一聲笑·rush發表於2020-12-14


1. 概述

1.1陣列的限制

  • 陣列只能儲存相同型別的資料
  • 陣列不能動態的擴充套件長度

1.2集合的分類

C# 中的集合一般分為兩種,泛型集合和非泛型集合,我一般非泛型集合用的比較少。主要用泛型集合


C# 中的集合主要有這麼幾種:

ArrayList 表示物件的陣列,這些物件的大小會根據需要動態增加。
Hashtable 表示根據鍵的雜湊程式碼進行組織的鍵/值對的集合。
Queue 表示物件的先進先出 (FIFO) 集合。
Stack 表示物件的後進先出 (LIFO) 集合。


2.非泛型集合


3.List<T> 泛型集合

特點:

  • 可通過索引訪問的物件的強型別。

  • 是ArrayList類的泛型等效類。

  • 可以使用一個整數索引訪問此集合中的元素;索引從 零開始。

  • 可以接收null空引用(VB中的Nothing)。

  • 允許重複元素。



List<T>集合的方法:

  1. Add 將物件新增到 List 的結尾處。

  2. AddRange 將指定集合的元素新增到 List 的末尾。

  3. AsReadOnly 返回當前集合的只讀 IList 包裝。

  4. BinarySearch(T) 使用預設的比較器在整個已排序的 List 中搜尋元素,並返回該元素從零開始的索引。

  5. BinarySearch(T, IComparer) 使用指定的比較器在整個已排序的 List 中搜尋元素,並返回該元素從零開始的索引。

  6. BinarySearch(Int32, Int32, T, IComparer) 使用指定的比較器在已排序 List 的某個元素範圍中搜尋元素,並返回該元素從零開始的索引。

  7. Clear 從 List 中移除所有元素。

  8. Contains 確定某元素是否在 List 中。

  9. ConvertAll 將當前 List 中的元素轉換為另一種型別,並返回包含轉換後的元素的列表。

  10. CopyTo(T[]) 將整個 List 複製到相容的一維陣列中,從目標陣列的開頭開始放置。

  11. Exists 確定 List 是否包含與指定謂詞所定義的條件相匹配的元素。

  12. Find 搜尋與指定謂詞所定義的條件相匹配的元素,並返回整個 List 中的第一個匹配 元素。

  13. FindIndex(Predicate) 搜尋與指定謂詞所定義的條件相匹配的元素,並返回整個List 中第一個匹配元素的從零開始的索引。

  14. ForEach 對 List 的每個元素執行指定操作。 GetEnumerator 返回迴圈訪問 List 的列舉器。

  15. IndexOf(T) 搜尋指定的物件,並返回整個 List 中第一個匹配項的從零開始的索引。

  16. Insert 將元素插入 List 的指定索引處。

  17. InsertRange 將集合中的某個元素插入 List 的指定索引處。

  18. LastIndexOf(T) 搜尋指定的物件,並返回整個 List 中最後一個匹配項的從零開始的索引。

  19. Remove 從 List 中移除特定物件的第一個匹配項。

  20. Reverse() 將整個 List 中元素的順序反轉。

  21. Sort() 使用預設比較器對整個 List 中的元素進行排序。

參考文獻

[1] https://www.cnblogs.com/sujulin/p/7137938.html
[2] https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/collections
[3] https://blog.csdn.net/weixin_43914767/article/details/104569990?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.not_use_machine_learn_pai

相關文章