2D Arrays Basics
Часть раздела Логика и управление потоком путешествия по C# на Coddy — урок 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];
// and so on...Например, чтобы создать зубчатый массив целых чисел с 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}
};Задание
ЛегкоИнициализируйте зубчатый массив со следующими значениями:
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Ваша задача — правильно инициализировать зубчатый массив с этими точными значениями и убедиться, что программа правильно выводит матрицу.
Шпаргалка
Зубчатый массив — это массив массивов, образующий структуру, похожую на матрицу, с рядами и столбцами.
Синтаксис объявления:
data_type[][] arrayName = new dataType[numberOfRows][];Каждый ряд должен инициализироваться отдельно:
arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];Пример с отдельной инициализацией:
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}
};Попробуйте сами
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();
}
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety