当前位置:  开发笔记 > 编程语言 > 正文

泛型和System.Collections

如何解决《泛型和System.Collections》经验,为你挑选了1个好方法。

迁移到.NET 2.0+后,有没有理由继续使用systems.Collections命名空间(除了维护遗留代码)?是否应该始终使用泛型命名空间?



1> Scott Dorman..:

在大多数情况下,泛型集合的执行速度将比非泛型集合更快,并且可以为您提供强类型集合的好处.比较System.Collections和System.Collections.Generic中可用的集合,您将获得以下"迁移":

    Non-Generic               Generic Equivalent
    ------------------------------------------------------------
    ArrayList                 List
    BitArray                  N/A
    CaseInsensitiveComparer   N/A
    CollectionBase            Collection
    Comparer                  Comparer
    DictionaryBase            Dictionary
    Hashtable                 Dictionary
    Queue                     Queue
    ReadOnlyCollectionBase    ReadOnlyCollection
    SortedList                SortedList
    Stack                     Stack

    DictionaryEntry           KeyValuePair

    ICollection               N/A (use IEnumerable or anything that extends it)
    IComparer                 IComparer
    IDictionary               IDictionary
    IEnumerable               IEnumerable
    IEnumerator               IEnumerator
    IEqualityComparer         IEqualityComparer
    IList                     IList

ICollection是不可变的(没有成员可以更改集合的内容),而ICollection 是可变的.这使得接口在名称上相似,而ICollection和IEnumerable 相差很小.

从该列表中,唯一没有通用对应的非泛型类是BitArray和CaseInsensitiveComparer.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有