无涯教程-C# - 交错数组

19 阅读2分钟

在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">&lt;</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">&lt;</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">&lt;</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">&lt;</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

参考链接

www.learnfk.com/csharp/c-sh…