【发布时间】:2012-01-20 22:08:33
【问题描述】:
我正在学习 .NET,我看到了“锯齿状数组”这个词。 所以我想知道那是什么意思。
我只是 .NET 技术的初学者,因此请提供具体答案。 如果可能,请举例说明。
祝你有美好的一天
【问题讨论】:
标签: .net jagged-arrays
我正在学习 .NET,我看到了“锯齿状数组”这个词。 所以我想知道那是什么意思。
我只是 .NET 技术的初学者,因此请提供具体答案。 如果可能,请举例说明。
祝你有美好的一天
【问题讨论】:
标签: .net jagged-arrays
也许这个答案对你有帮助.....
Jagged Array 是一个数组,它的每个元素都是一个数组。它的每个元素都可以有不同的大小或尺寸。
假设,在下面的代码中,我们声明了一个包含 3 个元素的数组,每个元素本身就是一个数组,它们的大小不同..
例如:
int[][] x = new int[3][];
x[0] = new int[1];
x[1] = new int[10];
x[2] = new int[15];
【讨论】:
它是一个数组数组,其中子数组可能有不同的大小。例如:
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" }
};
【讨论】:
int **foo = new int*[n]。然后初始化所有 n 个数组位置以指向一个new int[m_i],其中 m_i 是 foo[i] 内的子数组的大小。
锯齿状数组是“数组的数组”。 MSDN 中有关 .Net 的更多信息:
【讨论】:
看看微软的 msdn 库,它有大量的小例子,并且完美地解释了它们。
http://msdn.microsoft.com/en-us/library/2s05feca.aspx
“锯齿状数组是其元素为数组的数组。锯齿状数组的元素可以有不同的维度和大小。”
【讨论】:
锯齿状数组是数组的数组(特别是一维数组的一维数组)。
术语“锯齿状”来自于内部数组的长度可以不同,而二维数组的每个维度中的数据总是相同的长度。
【讨论】: