微软是否会“动态”掉落? C#中阵列的“静态”措辞?

时间:2014-06-03 23:02:20

标签: c# .net arrays dynamic-arrays ilist

经过这么多年,今天我决定回顾一些与数组相关的复杂语法,并且在我意识到微软没有提及{{3>动态方面之前没有花太多时间此外,所有示例都是静态。我确实需要进行快速搜索,以找出他们将这个概念改为Arrays的新措辞或更为通用的列表ArrayList Classes

我只想澄清这一变化以及如果我需要使用新命名与新程序员进行沟通的事实,因为他们可能没有在大学或在线课程中教授旧的命名惯例。

MSDN参考

  

ArrayList类(.NET Framework 4.5)

     

使用大小为的数组实现IList接口   根据需要动态增加。

  // Creates and initializes a new ArrayList.
  ArrayList myAL = new ArrayList();

List<T>

  // Create a list of parts.
  List<Part> parts = new List<Part>();

请在开始之前阅读。我要问的是:如果微软将 WORDING 从与阵列相关的 WORDS 词汇表或强类型列表中的任何对象称为“动态数组 强>”。

2 个答案:

答案 0 :(得分:3)

是的,ArrayList实际上已经被删除了#34; (尽管它仍然存在)。您链接的关于ArrayList的页面说明了:

  

对于ArrayList的强类型替代,请考虑使用List<T>

这正是你应该做的。 Generics(在.NET 2.0中引入)旨在解决在各处拥有一堆弱类型ArrayLists的问题。当您需要动态大小的项目集合时,请使用List<T>(或其他通用集合)。

答案 1 :(得分:2)

虽然 dynamic 确实与英语中的 static 完全相反,但在C#和其他类似语言(如Java)中,它们的常见用途是正确的条款已更改。你所谓的不可变长度数组通常称为 fixed ,而像ArrayList这样的可扩展集合(或其他指向的更好List<T>)只是被称为动态大小。 静态现在更常用于表达 class 成员的概念,而 dynamic 通常用于表达运行时绑定的一般概念,如反对编译时间,&#34;静态&#34;捆绑。绑定可以是,例如,方法解析或可变扩展。