【问题标题】:c# When should I use List and when should I use arraylist?c#什么时候应该使用List,什么时候应该使用arraylist?
【发布时间】:2010-10-18 01:10:49
【问题描述】:

正如标题所说,什么时候应该使用List,什么时候应该使用ArrayList

谢谢

【问题讨论】:

    标签: c# list arraylist


    【解决方案1】:

    使用ArrayList的主要时间是在.NET 1.1

    除此之外,一路List<T>(为您当地的T)...

    对于那些(罕见的)您不知道预先类型(并且不能使用泛型)的情况,即使List<object> 也比ArrayList (IMO) 更有帮助。

    【讨论】:

    【解决方案2】:

    由于 List 是一个泛型类,我倾向于总是使用 List。

    ArrayList 是一个 .NET 1.x 类(尽管仍然可用且有效),但它不是“类型化”/通用的,因此您需要将项目从“对象”转换回所需的类型;而使用 List 时,您不必这样做。

    【讨论】:

      【解决方案3】:

      您应该始终使用List<TypeOfChoice>(在.NET 2.0 中引入泛型),因为它是类型安全的并且比ArrayList 更快(没有不必要的装箱/拆箱)。

      我能想到 ArrayList 可以派上用场的唯一情况是,如果您需要与旧的东西(.NET 1.1)交互,或者您需要一个不同类型的对象数组并将所有内容加载为对象 - 但您可以后者使用List<Object> 通常更好。

      【讨论】:

        【解决方案4】:

        尽可能使用列表。当存在高性能 List 时,我看不到 ArrayList 的任何用途。

        【讨论】:

          【解决方案5】:

          正如其他人所说。您应该使用 List 泛型,几乎总是在您知道类型时使用(C# 是一种强类型语言),以及在您执行多态/继承类或其他类似的事情时使用其他方式。

          【讨论】:

            【解决方案6】:

            ArrayList 是一种较旧的 .NET 数据结构。如果您使用的是 .NET 2.0 或更高版本,则当数组需要保存相同类型的项目时,请始终使用 List。使用 List 而不是 ArrayList 可以提高性能和可用性。

            【讨论】:

              【解决方案7】:

              如果你不想使用 Linq 查询,那么你不需要使用 List。如果你想使用那么你必须更喜欢List。

              【讨论】:

                【解决方案8】:

                Generics 是在 .Net 2.0 中引入的。如果您使用的是早期版本的 .Net,那么您可以使用 Array List 否则我们可以使用 Generic List 本身。 Array List 已被弃用,不会提供更好的类型安全性,还会产生装箱和拆箱问题。但 Generic List 不会。

                【讨论】:

                  猜你喜欢
                  • 2023-04-02
                  • 2011-04-15
                  • 2017-04-10
                  • 2012-03-19
                  • 2018-05-12
                  • 2018-12-11
                  • 1970-01-01
                  • 2022-09-28
                  • 2021-09-07
                  相关资源
                  最近更新 更多