Podstawy tablic 2D
Część sekcji Logika i sterowanie przepływem ścieżki C# w Coddy. Lekcja 1 z 66.
W języku C# tablica postrzępiona to tablica tablic, tworząca siatkę lub strukturę przypominającą macierz. Przypomina tabelę z wierszami i kolumnami, w której każda komórka może przechowywać wartość. Tablice postrzępione są przydatne do reprezentowania danych, które mają dwuwymiarową relację, takich jak szachownica, plan miejsc lub gra oparta na siatce.
Oto, jak deklaruje się i inicjalizuje tablicę postrzępioną w C#:
data_type[][] arrayName = new dataType[numberOfRows][];dataType: Typ elementów, które będzie zawierać tablica (np. int, string itp.).
arrayName: Nazwa nadana tablicy.
numberOfRows: Liczba wierszy w tablicy.
Każdy wiersz należy następnie zainicjować osobno:
arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// i tak dalej...Na przykład, aby utworzyć postrzępioną tablicę liczb całkowitych z 3 wierszami, z których każdy ma 4 kolumny, napisz:
int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];Możesz również zainicjalizować tablicę postrzępioną bezpośrednio wartościami:
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Uwaga: Ta platforma korzysta z kompilatora sprzed C# 12. Krótsza składnia wyrażeń kolekcji wprowadzona w C# 12 (np. int[][] matrix = [[1, 2], [3, 4]];) nie jest tutaj obsługiwana. Użyj tradycyjnej składni inicjalizacji new int[][] { ... } pokazanej powyżej.
Wyzwanie
ŁatwyZainicjalizuj tablicę postrzępioną następującymi wartościami:
5, 7, 10, 24, 41
86, 13, 683, 64, 13
42, 46, 791, 111, 9
86, 88, 1845, 5, 15897
9, 1, 5, 5, 6Twoim zadaniem jest poprawne zainicjalizowanie tablicy postrzępionej tymi dokładnymi wartościami i upewnienie się, że program poprawnie wypisuje macierz.
Uwaga: Ta platforma korzysta z kompilatora sprzed C# 12. Składnia wyrażeń kolekcji z C# 12 (np. int[][] matrix = [[1, 2], [3, 4]];) nie jest obsługiwana. Zamiast tego użyj tradycyjnej składni inicjalizacji:int[][] matrix = new int[][] { new int[] {1, 2}, new int[] {3, 4} };
Spróbuj swoich sił
using System;
class Program
{
static void Main(string[] args)
{
int[][] matrix = {
// Wpisz tutaj swój kod
};
// Wyświetl macierz
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();
}
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i sterowanie przepływem
1Tablice wielowymiarowe
Podstawy tablic 2DDeklarowanie i inicjalizacja tablic 2DDostęp do elementów tablic 2DZagnieżdżone pętle z tablicami 2DTablice postrzępionePodstawowe operacje na macierzachPodsumowanie — tablice wielowymiarowe4Techniki sterowania przepływem
Wczesne zwrotyKlauzule ochronneInstrukcje skoku (goto)Break i continueSpłaszczanie zagnieżdżonych warunków7Zaawansowane operatory logiczne
Ewaluacja z krótkim spięciemWarunkowe operatory logicznePriorytet operatorówPowtórzenie — zaawansowane operatory2Zaawansowane podejmowanie decyzji
Wiele warunkówZłożona logika Boole’aPorównanie if i switchZagnieżdżone instrukcje switchPodsumowanie — zaawansowane decyzje5Obsługa wyjątków
Podstawy try-catchTypy wyjątkówWiele bloków catchPraca z plikamiBlok finallyusing a try-finallyWłasne wyjątkiPowtórzenie — obsługa błędów3Udoskonalenia pętli
Wydajność pętliIterowanie po złożonych strukturachKażdy typ pętliRefaktoryzacja pętliPodsumowanie — zoptymalizowane pętle6Obsługa wartości null
Podstawy referencji nullTypy wartości dopuszczające nullWzorce sprawdzania nullProgramowanie defensywnePodsumowanie — bezpieczeństwo nullPoćwicz samodzielnie: Kompilator C# online