猿教程 Logo

泛型集合

前一部分中您已了解了集合,例如 ArrayList,BitArray,SortedList,Queue,Stack和Hashtable。 这些类型的集合可以存储任何类型的项目。 例如,ArrayList可以存储不同数据类型的项:

相关实例:

ArrayList arList = new ArrayList();

arList.Add(1);
arList.Add("Two");
arList.Add(true);
arList.Add(100.45);
arList.Add(DateTime.Now);

这些集合的限制是,在检索项目时,您需要转换为适当的数据类型,否则程序将引发运行时异常。 它也影响性能,因为装箱和拆箱。

为了克服这个问题,C#包含System.Collections.Generic命名空间中的泛型集合类。

以下是广泛使用的泛型集合:

泛型集合描述
List<T>泛型List<T>包含指定类型的元素。 它会在您添加元素时自动增长。
Dictionary<TKey,TValue>Dictionary<TKey,TValue>包含键值对。
SortedList<TKey,TValue>SortedList存储键和值对。 默认情况下,它按键的升序自动添加元素。
Hashset<T>Hashset <T>包含非重复的元素。 它消除重复的元素。
Queue<T>Queue<T>以FIFO格式(先进先出)存储值。 它保持值的添加顺序。 它提供了一个Enqueue()方法来添加值和一个Dequeue()方法来从集合中检索值。
Stack<T>Stack<T>将值存储为LIFO(后进先出)。 它提供了一个用于添加值的Push()方法以及用于检索值的Pop()和Peek()方法。

通用集合获得泛型的所有好处。 它在存储或检索项目时不需要做装箱和拆箱,因此提高了性能。

在下一节中学习泛型集合List<T>。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/CSharp/Csharp-Generics-collection.html