Menu
CoddyTech

二维数组基础

本课属于 Coddy C# 学习旅程的“逻辑与流程”单元。第 1 课,共 66 课。

在 C# 中,交错数组是由数组组成的数组,形成网格或类似矩阵的结构。它就像一张有行和列的表,每个单元格都可以存储一个值。交错数组适合表示具有二维关系的数据,例如棋盘、座位表或基于网格的游戏。

下面介绍如何在 C# 中声明并初始化锯齿数组:

data_type[][] arrayName = new dataType[numberOfRows][];

dataType:数组将保存的元素类型(例如,int、string 等)。

arrayName:你为数组指定的名称。

numberOfRows:数组中的行数。

然后必须分别初始化每一行:

arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// 以此类推……

例如,要创建一个有 3 行、每行有 4 列的整数交错数组,你可以这样写:

int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];

你也可以直接用值初始化锯齿数组:

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

注意:此平台使用的是 C# 12 之前的编译器。这里不支持 C# 12 中引入的较简洁的集合表达式语法(例如,int[][] matrix = [[1, 2], [3, 4]];)。请使用上面展示的传统 new int[][] { ... } 初始化语法。

challenge icon

挑战

简单

使用以下值初始化一个锯齿数组:

5, 7, 10, 24, 41
86, 13, 683, 64, 13
42, 46, 791, 111, 9
86, 88, 1845, 5, 15897
9, 1, 5, 5, 6

你的任务是使用这些确切的值正确初始化锯齿数组,并确保程序正确打印矩阵。

注意:此平台使用的是 C# 12 之前的编译器。不支持 C# 12 集合表达式语法(例如,int[][] matrix = [[1, 2], [3, 4]];)。请改用传统的初始化语法:
int[][] matrix = new int[][] { new int[] {1, 2}, new int[] {3, 4} };

亲手试试

using System;

class Program
{
    static void Main(string[] args)
    {
        int[][] matrix = {
            // 在这里编写代码
        };
        
        // 输出矩阵
        int rows = matrix.Length;
        
        for (int i = 0; i < rows; i++)
        {
            int cols = matrix[i].Length;
            for (int j = 0; j < cols; j++)
            {
                Console.Write(matrix[i][j] + " ");
            }
            Console.WriteLine();
        }
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: C# 在线编译器