二维数组基础
本课属于 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[][] { ... } 初始化语法。
挑战
简单使用以下值初始化一个锯齿数组:
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();
}
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: C# 在线编译器