【问题标题】:Difference between Arrays & Single-Dimensional Arrays in c#c#中数组和一维数组的区别
【发布时间】:2009-11-24 16:21:02
【问题描述】:

c#中数组和一维数组有什么区别?

【问题讨论】:

  • 这就像是在问水果和苹果有什么区别。
  • 我想他可能在问Array digits;int[] digits;之间的区别
  • Stevo 我认为你的权利,有道理,Marc 对此有很好的解释

标签: c# asp.net arrays


【解决方案1】:

您的问题到底是什么?请明确说明。现在这里是不同类型的Arrays in C#

一维数组:

int[] numbers;

多维数组:

string[,] names;

Array-of-arrays(锯齿状):

byte[][] scores;

【讨论】:

    【解决方案2】:

    int[]int[,] 等数组继承自 Array 作为基类。主要区别在于Array 仅提供非特定访问,而 特定 数组(例如单维数组,SomeType[])通过编译器等。这允许更有效的使用,特别是因为 JIT 可以在许多情况下优化这一点(删除边界检查等)。

    如果您需要能够使用 any 类型的数组(没有任何特定类型或维度),

    Array 很有用 - 尽管老实说这种情况很少见,并且在 2.0 及更高版本中使用泛型,更常见的是Foo<T>(T[])Foo<T>(IEnumerable<T>)等泛型方法。

    【讨论】:

      【解决方案3】:

      Arrays是C#中各类数组的统称(SingleDimension、Multi-DimensionJagged)。

      单维数组只是 C# 中的一种特定类型的数组。

      【讨论】:

        【解决方案4】:

        数组可以是多维的,也可以是单维的;一维数组只能是一维的。

        如果您想要一个有意义的答案,请提出一个有意义的问题。

        如需更多信息,请阅读this article

        您可能想问MDARRAYs 和SZARRAYs 之间的区别是什么(请参阅上面的文章)。

        SZARRAYs 是从零开始的一维数组(包括嵌套数组,例如 int[][][][])。运行时经过高度优化,可最大限度地提高 SZARRAYs 的性能。

        所有其他数组(非从零开始的数组,C# 不支持,以及多维数组)都是MDARRAYs,没有那么快。

        【讨论】:

          【解决方案5】:

          矩形和正方形的区别。

          【讨论】:

          • 这个答案我可以说但是你为什么不写关于我的问题的答案
          • 因为你的问题没有意义。
          • @clouserw:这实际上是一个严肃的答案。每个一维数组都是一个数组,但不是每个数组都是一维数组。正方形和长方形也是如此。
          猜你喜欢
          • 1970-01-01
          • 2010-10-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多