基础类库中的泛型

   2.0版的.NET框架类库提供了一个新的命名空间,System.Collections.Generic,其中包含了一些已经可以使用的泛型容器类和相关的接口。和早期版本的.NET框架提供的非泛型容器类相比,这些类和接口更高效且是类型安全的。在设计、实现自定义的容器类之前,请你考虑是否使用或继承所列出类中的一个。

 

    下面的表格列出了新的泛型类和接口,旁边是对应的非泛型类和接口。在一些地方要特别注意,如List和Dictionary,新泛型类的行为(behavior)与它们所替换的非泛型类有些不同,也不完全兼容。更详细的内容,请参考System.Collections.Generic的文档

泛型类或接口

描述

对应的非泛型类型

Collection

ICollection

为泛型容器提供基类

CollectionBase

ICollection

Comparer

IComparer

IComparable

比较两个相同泛型类型的对象是否相等、可排序。

Comparer

IComparer

IComparable

Dictionary

IDictionary

表示用键组织的键/值对集合。

Hashtable

IDictionary

Dictionary.KeyCollection

表示Dictionary中键的集合。

None.

Dictionary.ValueCollection

表示Dictionary中值的集合。

None.

IEnumerable

IEnumerator

表示可以使用foreach 迭代的集合。

IEnumerable

IEnumerator

KeyedCollection

表示有键值的集合。

KeyedCollection

LinkedList

表示双向链表。

None.

LinkedListNode

表示LinkedList中的节点。

None.

List

IList

使用大小可按需动态增加的数组实现 IList 接口

ArrayList

IList

Queue

表示对象的先进先出集合。

Queue

ReadOnlyCollection

为泛型只读容器提供基类。

ReadOnlyCollectionBase

SortedDictionary

 表示键/值对的集合,这些键和值按键排序并可按照键访问,实现IComparer接口。

SortedList

Stack

表示对象的简单的后进先出集合。

Stack

你可能感兴趣的:(基础类库中的泛型)