C# 交叉数组和二维数组的简单区别

来源:互联网 发布:现代数据有限公司 编辑:程序博客网 时间:2024/05/16 03:34
class TestArray
{
    public void Run()
    {
        //------------------声明数组------------------
        int[][] myArray1 = new int[3][];    //交叉数据
        int[][] myArray2 = new int[3][] { new int[3] { 5, 6, 2 }, new int[5] { 6, 9, 7, 8, 3 }, new int[3] { 3, 2, 4 } };    //交叉数据(赋值)

        int[,] myArray5 = new int[3, 3];    //二维数据
        int[,] myArray6 = new int[3, 3] { { 5, 6, 2 }, { 7, 8, 3 }, { 3, 2, 4 } };    //二维数据(赋值)

        //交叉数据
        myArray1[0] = new int[] { 5, 3, 7, 1, 9 };
        Console.WriteLine(myArray1[0].Count());    //OutPut: 5
        //Console.WriteLine(myArray1[1][2]);    //抛出未将对象运用到实例

        Console.WriteLine(myArray2[0][2]);     //OutPut: 2

        //二维数据
        myArray5[0, 2] = 8;
        Console.WriteLine(myArray5[0, 2]);    //OutPut: 8
        Console.WriteLine(myArray5[1, 2]);    //OutPut: 0

        Console.WriteLine(myArray6[2, 2]);    //OutPut: 4

        Console.ReadLine();
    }
}

1. 声明方式不同
2. 交叉数组二级数组可以是不规则长度, 二维数组声明以后必定是一个规则"矩形".

//交叉数组[3][]
5, 6, 7
3
1, 2

//二维数组[3,3]
1, 2, 3
4, 5, 6
7, 8, 9

遍历二维数组
for (int i = 0; i < matrix.GetLength(0); i++)
            {
                for (int j = 0; j < matrix.GetLength(1); j++) 
                    Console.WriteLine(matrix[i,j]+"\t");
            }


0 0
原创粉丝点击