代码之家  ›  专栏  ›  技术社区  ›  faulty

ArrayList vs List<object>

  •  46
  • faulty  · 技术社区  · 17 年前

    我看到了乔恩的回答 Initialize generic object with unknown type :

    但是,您必须使用 List<object>

    ArrayList vs List<> ArrayList vs 列表<对象> object . 在这种情况下,使用任何一种都有什么好处?

    对象 作为其项目。一个人仍然需要从 对象

    编辑:谢谢马克·格雷威尔和肖恩的回答。对不起,我只能选择1作为答案,所以我将同时投票。

    6 回复  |  直到 9 年前
        1
  •  84
  •   Marc Gravell    17 年前

    您将能够直接使用LINQ扩展方法 List<object> ArrayList ,除非你注射 Cast<object>() OfType<object> (感谢 IEnumerable<object> vs IEnumerable ).这很值得,即使你不需要类型安全等。

    速度大致相同;结构仍然会被装箱,等等-所以没有太多其他的东西来区分它们。除了我倾向于 “哦,有人又在写遗留代码了……”-P

        2
  •  46
  •   Marc Gravell    17 年前

    使用 List<object> IList<object> 而不是 IList ArrayList 不执行 IList<对象>

    我倾向于将非泛型类/接口视为遗留代码,并尽可能避免使用它们。

        3
  •  11
  •   Lasse V. Karlsen    17 年前

    在这种情况下,, ArrayList vs。 List<Object>

        4
  •  5
  •   Tamas Czinege    17 年前

    是的,除了类型安全之外,泛型集合实际上可能更快。

    来自MSDN( http://msdn.microsoft.com/en-us/library/system.collections.generic.aspx )

    System.Collections.Generic 定义泛型的类 集合,它允许用户 类型化集合。

        5
  •  1
  •   tuinstoel    17 年前

    做一些基准测试,你就会知道什么表现最好。我估计差别很小。

        6
  •  -4
  •   Funky81    17 年前

    列表<&燃气轮机;是ArrayList的类型安全版本。它将保证在集合中获得相同的对象类型。

    推荐文章