第十二章:二维数组


本章目标

  1. 掌握二维数组的使用

本章内容

1、什么是二维数组

C# 中同样支持多维数组(也可称为矩形数组),它可以是二维的,也可以是三维的,多维数组中的数据以类似表格(行、列)的形式存储,因此也被称为矩阵。

多维数组中最简单的形式是二维数组,我们可以将二维数组看作是一个表格,这个表格中具有相应的行数和列数,下图中展示了一个包含 3 行 4 列的二维数组。

img

要创建多维数组,我们需要在声明数组的方括号内添加逗号,例如:

1
2
int[,] arr=new int[3,3];         // 声明一个二维数组
int[,,] arr=new int[3,3,3];     // 声明一个三维数组

2、如何使用二维数组

  1. 声明二维数组

    1
    int[,] nums=new int[3,4];//创建一个3行4列的二维数组

    我们可以使用arr[i, j]的形式来访问二维数组中的每个元素,其中 arr 为数组的名称,而 i 和 j 则是数组元素的索引,类似于表格中的行和列。

  2. 初始化二维数组

    维数组的初始化与一维数组类似,例如我们要定义一个 3 行 4 列的整型数组,可以使用以下几种方式:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    // 第一种方式
    int[,] arr = new int[3,4]{
        {0, 1, 2, 3},
        {4, 5, 6, 7},
        {8, 9, 10, 11}
    };
    // 第二种方式
    int[,] arr = new int[,]{
        {0, 1, 2, 3},
        {4, 5, 6, 7},
        {8, 9, 10, 11}
    };
    // 第三种方式
    int[,] arr = {
        {0, 1, 2, 3},
        {4, 5, 6, 7},
        {8, 9, 10, 11}
    };
  3. 访问二维数组元素

    1. 二维数组中的元素同样可以通过索引(行索引和列索引)来访问的,例如:

      1
      2
      3
      4
      5
      6
      7
      int[,] arr = new int[3,4]{
          {0, 1, 2, 3},
          {4, 5, 6, 7},
          {8, 9, 10, 11}
      };

      int a = arr[1, 0];

      上例中arr[1, 0]代表了数组 arr 中第二行中的第一个元素。

    2. 【示例】定义一个二维数组并遍历数组中的每个元素:

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

      for (int i = 0; i < 3; i++)
      {
      for (int j = 0; j < 4; j++)
      {
      Console.WriteLine("arr[{0},{1}] = {2}", i, j, arr[i, j]);
      }
      }

      运行结果如下:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      arr[0,0] = 0
      arr[0,1] = 1
      arr[0,2] = 2
      arr[0,3] = 3
      arr[1,0] = 4
      arr[1,1] = 5
      arr[1,2] = 6
      arr[1,3] = 7
      arr[2,0] = 8
      arr[2,1] = 9
      arr[2,2] = 10
      arr[2,3] = 11

本章总结

  1. 了解二维数组的概念
  2. 如何正确使用二维数组

课后作业

1.有三个班,每个班5个人,请依次录入成绩,并计算每个班级的合格率。

2.生成一个随机数面板(二维数组,3行5列), 分别计算每行的最大值。

3.生成一个随机数面板(二维数组,3行5列), 分别计算每行的最小值。

4.生成一个随机数面板(二维数组,3行5列), 分别计算每行的平均值。

5.生成一个随机数面板(二维数组,3行5列), 分别计算每行偶数的数量。