C# 交错数组是一种其元素也是数组的数组,即数组的数组。交错数组中的这些元素可以是不同维度,甚至可以是不同大小。
交错数组可以按如下方式声明和初始化
Int[][] JaggedAr = new int[2][];
这里的大小 2 表示数组的数量,即 JaggedAr[][] 中有两个数组。
接下来,在使用交错数组之前,我们必须先初始化内部的数组。
JaggedAr[0] = new int[]{5,9,6};
JaggedAr[1] = new int[]{2,5};
让我们看一个演示交错数组的示例代码。
C# 交错数组示例
下面的示例向您解释了交错数组的声明和使用。
using System;
class program
{
public static void Main()
{
string[] NameOfEmployee = new string[2];
NameOfEmployee[0] = "John";
NameOfEmployee[1] = "Winson";
string[][] JaggedAr = new string[2][];
JaggedAr[0] = new string[] { "Bachelors", "masters", "Doctrate" };
JaggedAr[1] = new string[] { "Bachelors", "Masters" };
for(int i = 0;i<JaggedAr.Length;i++ )
{
Console.WriteLine(NameOfEmployee[i]);
Console.WriteLine("-------");
string[] arrayin = JaggedAr[i];
for(int j = 0; j< arrayin.Length;j++)
{
Console.WriteLine(arrayin[j]);
}
Console.WriteLine();
}
Console.ReadLine();
}
}

分析
NameOfEmployee[] 是一个包含两个元素的字符串数组。
JaggedAr[][] 是 C# 交错数组,包含两个字符串数组。
JaggedAr[0] 有三个元素 —— 学士、硕士和博士。
JaggedAr[1] 有两个元素 —— 学士、硕士。
由于 JaggedAr.Length 为 2,当 i = 0 时,0<2 条件返回 true。因此,控制进入父循环并打印 NameOfEmployye[0],即。
John
——
现在 JaggedAr[0] 存储在 arrayin[] 中
当 j=0 时,j<arrayin.Length,即 0<3,因为 JaggedAr[0] 有三个元素。
0<3 返回 true。因此,C# 打印 Bachelors (学士)。
j++,即 1
现在,1 < 3 返回 true。因此,它打印 Masters (硕士)。
j++,即 2
接下来,2 < 3 返回 true,并且它打印 Doctorate (博士)。
j++,即 3
现在,3 < 3 返回 false,退出子循环。
现在 Console.WriteLine() 被执行。
交错数组在父循环中再次递增 i。这次 i=1,所以 1<2 返回 true。因此进入循环并打印 NameOfEmployee[1],即。
Winson
———-
arrayin = JaggedAr[1]
j=0 且 j<arrayin.Length,即 2,它返回 true。因此,控制进入子循环并打印 arrayin[0]
Bachelors (学士)
j++ = 1 且 1<2 返回 true。进入子循环并打印 arrayin[1],即。
Masters (硕士)
j++ = 2 且 2<2 返回 false。因此,它退出子循环并执行。
Console.WriteLine();
现在将 i 增加 1,所以 i++ = 2
2<2 返回 false,因此它退出父循环。