集合和資料結構
將密切關聯的資料放在同一個集合中,可以更有效率地來處理這些資料。 不需撰寫個別程式碼來處理各個別物件,您可以另行使用相同程式碼以處理集合的所有元素。
若要管理集合,可以使用 System.Array 類別以及 System.Collections、System.Collections.Generic 和 System.Collections.Concurrent 命名空間中的類別,來新增、移除和修改集合中的個別元素或某個範圍元素。 整個集合甚至可以複製到另一個集合。
某些 System.Collections 類別具有排序功能,而且大部分是編入索引的。 記憶體管理會自動處理,而集合的容量也會按照需要來擴充。 同步處理在存取集合成員時會提供執行緒安全。 某些 System.Collections 類別可以產生令集合為唯讀或固定大小的包裝函式。 任何 System.Collections 類別都可以產生本身的列舉程式,因而簡化逐一查看元素的過程。
在 .NET Framework 2.0 版中,泛型集合類別可提供新的功能,並可讓您輕鬆地建立強型別集合。 請參閱 System.Collections.Generic 和 System.Collections.ObjectModel 命名空間。
在 .NET Framework 4 版 中,System.Collections.Concurrent 命名空間中的集合可以提供有效率的安全執行緒作業,從多個執行緒存取集合項目。
只要物件型別實作 System.Collections.IEnumerable 或 System.Collections.Generic.IEnumerable<T> 介面,LINQ to Objects 功能就可讓您使用 LINQ 查詢以存取記憶體中的物件。 LINQ 查詢提供一般模式以存取資料,比標準的 foreach 迴圈 (Loop) 更精簡、可讀性更高,並提供篩選、排序和群組功能。 LINQ 查詢也可以提升效能。 如需詳細資訊,請參閱 LINQ to Objects 和平行 LINQ (PLINQ)。
相關主題
標題 |
說明 |
---|---|
說明什麼是集合型別,並且解釋 .NET Framework 類別庫中泛型與非泛型集合型別之間的差異。 |
|
說明常用的泛型與非泛型集合型別,例如 System.Array、System.Collections.Generic.List<T> 和 System.Collections.Generic.Dictionary<TKey, TValue>。 |
|
說明 System.Collections.BitArray 和 System.Collections.Specialized.BitVector32 集合型別。 |
|
說明特殊用途的集合,例如 System.Collections.Specialized.NameValueCollection、System.Collections.Specialized.StringDictionary 和 System.Collections.Specialized.StringCollection。 |
|
說明如 System.Collections.Concurrent.BlockingCollection<T> 和 System.Collections.Concurrent.ConcurrentBag<T> 這類集合型別,這類型別支援從多個執行緒進行安全有效率的並行存取。 |
|
說明如何選取最佳集合型別、列舉集合、以多個執行緒使用集合,以及排序集合。 |
|
說明泛型集合型別的用法。 |