在C#中,交错数组也被称为“数组的数组”,因为它的元素是数组。锯齿状数组的元素大小可以不同。
交错数组的声明
让无涯教程看一个声明包含两个元素的交错数组的示例。
int[][] arr = new int[2][];
交错数组的初始化
看一个初始化锯齿数组的示例。元素的大小可以不同。
arr[0] = new int[4]; arr[1] = new int[6];
交错数组中元素的初始化和填充
看一个初始化和填充锯齿数组中的元素的示例。
arr[0] = new int[4] { 11, 21, 56, 78 }; arr[1] = new int[6] { 42, 61, 37, 41, 59, 63 };
这里,锯齿数组中元素的大小是可选的。因此,您可以编写上面的代码,如下所示:
arr[0] = new int[] { 11, 21, 56, 78 }; arr[1] = new int[] { 42, 61, 37, 41, 59, 63 };
C#交错数组示例
看一个用C#编写的锯齿数组的简单示例,它声明、初始化和遍历锯齿数组。
public class JaggedArrayTest
{
public static void Main()
{
int[][] arr = new int[2][];// Declare the array
arr</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="kwd">int</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="lit">11</span><span class="pun">,</span><span class="pln"> </span><span class="lit">21</span><span class="pun">,</span><span class="pln"> </span><span class="lit">56</span><span class="pun">,</span><span class="pln"> </span><span class="lit">78</span><span class="pln"> </span><span class="pun">};</span><span class="com">// Initialize the array </span><span class="pln">
arr</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="kwd">int</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="lit">42</span><span class="pun">,</span><span class="pln"> </span><span class="lit">61</span><span class="pun">,</span><span class="pln"> </span><span class="lit">37</span><span class="pun">,</span><span class="pln"> </span><span class="lit">41</span><span class="pun">,</span><span class="pln"> </span><span class="lit">59</span><span class="pun">,</span><span class="pln"> </span><span class="lit">63</span><span class="pln"> </span><span class="pun">};</span><span class="pln">
</span><span class="com">// Traverse array elements </span><span class="pln">
</span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> arr</span><span class="pun">.</span><span class="typ">Length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> j </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> j </span><span class="pun"><</span><span class="pln"> arr</span><span class="pun">[</span><span class="pln">i</span><span class="pun">].</span><span class="typ">Length</span><span class="pun">;</span><span class="pln"> j</span><span class="pun">++)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">Write</span><span class="pun">(</span><span class="pln">arr</span><span class="pun">[</span><span class="pln">i</span><span class="pun">][</span><span class="pln">j</span><span class="pun">]+</span><span class="str">" "</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">();</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
输出:
11 21 56 78 42 61 37 41 59 63
看一个初始化交错数组While声明的示例。
int[][] arr = new int[3][]{ new int[] { 11, 21, 56, 78 }, new int[] { 2, 5, 6, 7, 98, 5 }, new int[] { 2, 5 } };
看一个简单的Jagged数组示例,它在声明时初始化Jagged数组。
public class JaggedArrayTest
{
public static void Main()
{
int[][] arr = new int[3][]{
new int[] { 11, 21, 56, 78 },
new int[] { 2, 5, 6, 7, 98, 5 },
new int[] { 2, 5 }
};
</span><span class="com">// Traverse array elements </span><span class="pln">
</span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> arr</span><span class="pun">.</span><span class="typ">Length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> j </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> j </span><span class="pun"><</span><span class="pln"> arr</span><span class="pun">[</span><span class="pln">i</span><span class="pun">].</span><span class="typ">Length</span><span class="pun">;</span><span class="pln"> j</span><span class="pun">++)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">Write</span><span class="pun">(</span><span class="pln">arr</span><span class="pun">[</span><span class="pln">i</span><span class="pun">][</span><span class="pln">j</span><span class="pun">]+</span><span class="str">" "</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">();</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
输出:
11 21 56 78 2 5 6 7 98 5 2 5