这两种数组,与之前文章中所提到的一维数组的声明与使用是大同小异的(详见上一篇一维数组),故本文重点以代码的形式直接展示。

首先是二维数组的声明:

int[,] arr1;

int[,] arr2 = new int[3,3];

int[,] arr3 = new int[3,3]{{1,2,3},
                           {4,5,6},
                           {7,8,9}};

int[,] arr4 = new int[,]{{1,2,3,4},
                         {5,6,7,8}};

int[,] arr5 ={{1,2,3},
              {4,5,6},
              {7,8,9}};

其次是二维数组的相关基础使用:

int[,] arr = {{1,2,3},
              {4,5,6}};

//获取二维数组的行数与列数
int line = arr.GetLength(0);
int column = arr.GetLength(1);

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

//二维数组元素的增加
int[,] arr2 = new int[3,3];
for(int i = 0;i<arr.GetLength(0);i++)
{
    for(int j = 0;j<arr.GetLength(1);j++)
    {
        arr2[i,j] = arr[i,j];
    }
}
arr = arr2;
arr[2,0] = 7;
arr[2,1] = 8;
arr[2,2] = 9;

//二维数组元素的减少
int[,] arr3 = new int[1,3];
for(int i = 0;i<arr3.GetLength(0);i++)
{
    for(int j = 0;j<arr3.GetLength(1);j++)
    {
        arr3[i,j] = arr[i,j];
    }
}
arr3 = arr;

//二维数组元素的查找(按索引)
for(int i = 0;i<arr.GetLength(0);i++)
{
    for(int j = 0;j<arr.GetLength(1);j++)
    {
        if(i==0&&j==1)
        {
            Console.WriteLine(arr[i,j]);
            break;
        }
    }
}

//二维数组元素的查找(按内容)
for(int i = 0;i<arr.GetLength(0);i++)
{
    for(int j = 0;j<arr.GetLength(1);j++)
    {
        if(arr[i,j] == 3)
        {
            Console.WriteLine(arr[i,j]);
        }
    }
}

接下来我们介绍交错数组,其可以被看作是“以数组为元素的数组”,其声明方式为:

int[][] arr1;

int[][] arr2 = new int[2][];//列数不可以固定

int[][] arr3 = new int[3][] {new int[] {1,2,3},
                             new int[] {4,5},
                             new int[] {6,7,8}};

int[][] arr4 = new int[][] {new int[] {1,2,3},
                            new int[] {4,5,6,7},
                            new int[] {9,10,11,12,13}};

int[][] arr5 = {new int[] {1,2,3},
                new int[] {1,2},
                new int[] {1}};

其次是与交错数组相关的基础使用:

int[][] arr = {new int[] {1,2,3},
               new int[] {4,5}};

//获取数组的行数与列数
int line = arr.GetLength(0);

int column1 = arr[0].Length;
int column2 = arr[1].Length;//交错数组的每行列数不同,需要单独获取

//交错数组的遍历
for(int i = 0;i<arr.GetLength(0);i++)
{
    for(int j = 0;j<arr[i].Length;j++)
    {
        Console.WriteLine(arr[i][j]);
    }
}

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐