【问题标题】:What are Jagged Arrays in .NET?什么是 .NET 中的锯齿状数组?
【发布时间】:2012-01-20 22:08:33
【问题描述】:

我正在学习 .NET,我看到了“锯齿状数组”这个词。 所以我想知道那是什么意思。

我只是 .NET 技术的初学者,因此请提供具体答案。 如果可能,请举例说明。

祝你有美好的一天

【问题讨论】:

    标签: .net jagged-arrays


    【解决方案1】:

    也许这个答案对你有帮助.....

    Jagged Array 是一个数组,它的每个元素都是一个数组。它的每个元素都可以有不同的大小或尺寸。

    假设,在下面的代码中,我们声明了一个包含 3 个元素的数组,每个元素本身就是一个数组,它们的大小不同..

    例如:

    int[][] x = new int[3][];
    x[0] = new int[1];
    x[1] = new int[10];
    x[2] = new int[15];
    

    【讨论】:

      【解决方案2】:

      它是一个数组数组,其中子数组可能有不同的大小。例如:

      string[][] jagged = new string[][] {
          new string[] { "one" },
          new string[] { "two", "elements" },
          new string[] { "this", "has", "three" },
      };
      

      比较一下 rectangular 数组,它没有“子数组”,只是一个真正的二维单数组:

      string[,] rectangular = new string[,] {
          // These must all have the same length
          { "a", "b" },
          { "c", "d" },
          { "0", "1" }
      };
      

      【讨论】:

      • 补充一点,我想指出,在 C/C++ 中,这相当于创建一个指向指针的指针:int **foo = new int*[n]。然后初始化所有 n 个数组位置以指向一个new int[m_i],其中 m_i 是 foo[i] 内的子数组的大小。
      【解决方案3】:

      锯齿状数组是“数组的数组”。 MSDN 中有关 .Net 的更多信息:

      http://msdn.microsoft.com/en-us/library/2s05feca.aspx

      【讨论】:

        【解决方案4】:

        看看微软的 msdn 库,它有大量的小例子,并且完美地解释了它们。

        http://msdn.microsoft.com/en-us/library/2s05feca.aspx

        “锯齿状数组是其元素为数组的数组。锯齿状数组的元素可以有不同的维度和大小。”

        【讨论】:

          【解决方案5】:

          锯齿状数组是数组的数组(特别是一维数组的一维数组)。

          术语“锯齿状”来自于内部数组的长度可以不同,而二维数组的每个维度中的数据总是相同的长度。

          【讨论】:

          • 为什么投反对票?如果你不解释你认为错误的地方,它就无法改进答案。
          猜你喜欢
          • 2017-03-21
          • 2011-02-04
          • 2015-09-23
          • 2020-04-02
          • 1970-01-01
          • 2013-04-21
          • 2012-03-20
          • 1970-01-01
          相关资源
          最近更新 更多