集合(Collection)是C#中一种特殊的数据结构,用于存储和操作多个相同类型的对象。在C#中,有多种集合类型可供选择,每种类型都有其特定的用途和性能特点。以下是一些常见的C#集合类型及其能存储的类型:
- List
:这是一个动态数组,可以存储任意类型的对象。你可以随时增加或删除其中的元素。 T
代表集合中元素的类型。例如,你可以使用List
来存储整数列表,或使用List
来存储字符串列表。 - ArrayList
:这也是一个动态数组,与 List
类似,但它是非泛型的。这意味着它只能存储object
类型的元素,因此在使用前通常需要进行类型转换。尽管如此,ArrayList
在某些情况下可能比List
更高效,因为它在内部使用数组实现,并且不需要进行类型检查。然而,由于类型安全性较低,现在通常更推荐使用泛型集合。 - Dictionary
:这是一个键值对集合,其中每个元素都由一个唯一的键和一个与之关联的值组成。键和值可以是任意类型。例如,你可以使用 Dictionary
来存储整数键和字符串值的映射。 - HashSet
:这是一个无序集合,用于存储不重复的元素。每个元素在添加到集合时都会被检查以确保其唯一性。 T
代表集合中元素的类型。HashSet
通常用于实现集合的差集、交集等操作。 - SortedSet
:这也是一个无序集合,但与 HashSet
不同,它会根据元素的自然顺序(如果元素实现了IComparable
接口)或提供的比较器对元素进行排序。这使得SortedSet
非常适合用于需要有序集合的场景。 - Queue
:这是一个先进先出(FIFO)队列,用于存储和检索元素。元素只能从队列的末尾添加,并从队列的前端移除。 T
代表队列中元素的类型。 - Stack
:这是一个后进先出(LIFO)栈,用于存储和检索元素。元素只能从栈顶添加和移除。 T
代表栈中元素的类型。
这些集合类型在C#中非常常用,它们提供了丰富的方法和属性来操作和管理集合中的元素。你可以根据具体的需求选择合适的集合类型来存储和操作数据。