2011-12-15 85 views
2

我正在学习.NET,我已经看到了“Jagged Arrays”这个词。 所以我想知道那是什么意思。.NET中的Jagged数组是什么?

我只是.NET技术的初学者,所以请为此提供一个具体的答案。 如果可能的话请用例子来解释。

拥有美好的一天

回答

5

可能这回答对你有帮助.....

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

假设,在下面的代码我们宣布具有3个元件的阵列,并且每个其元件的是一个数组本身,它们是不同的大小的..

例如:

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

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

术语“参差不齐”来自内部数组可以有不同的长度,相比之下,每个维度中的数据总是相同的长度的二维数组。

+0

为什么downvote?如果你不解释你认为是错误的,它不能改善答案。 – Guffa 2011-12-15 07:09:45

2

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

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

相比之下,与一个矩形阵列,其不具有“子阵列”,但仅仅是一个真正的二维单个阵列:

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

为了补充说明,我想指出,在C/C++中,这相当于使指针指向一个指针:“int ** foo = new int * [n]`。然后初始化所有n个数组位置以指向一个`new int [m_i]`,其中m_i是foo [i]中子数组的大小。 – 2011-12-15 07:07:20