Tablice postrzępione
Część sekcji Logika i sterowanie przepływem ścieżki C# w Coddy. Lekcja 5 z 66.
Tablice postrzępione w C# to tablice tablic, w których każda tablica wewnętrzna może mieć inną długość.
Utwórz tablicę postrzępioną z 3 wierszami:
int[][] jaggedArray = new int[3][];Zainicjalizuj każdy wiersz tablicą o innej długości:
jaggedArray[0] = new int[4]; // Pierwszy wiersz ma 4 elementy
jaggedArray[1] = new int[2]; // Drugi wiersz ma 2 elementy
jaggedArray[2] = new int[5]; // Trzeci wiersz ma 5 elementówPrzypisz wartości do elementów:
jaggedArray[0][0] = 10;
jaggedArray[1][1] = 20;
jaggedArray[2][3] = 30;Zainicjalizuj tablicę postrzępioną wartościami:
int[][] numbers = new int[][]
{
new int[] {1, 2, 3, 4},
new int[] {5, 6},
new int[] {7, 8, 9, 10, 11}
};Pobierz liczbę wierszy:
int rows = jaggedArray.Length; // Zwraca 3Uzyskaj długość określonego wiersza:
int elementsInRow1 = jaggedArray[1].Length; // Zwraca 2Wyzwanie
ŚredniUtwórz metodę o nazwie createTriangle, która:
- Przyjmuje dodatnią liczbę całkowitą
sizejako parametr - Zwraca tablicę postrzępioną reprezentującą wzór trójkąta
- Każdy wiersz powinien mieć o jeden element więcej niż poprzedni wiersz
- Każdy element powinien być równy indeksowi wiersza plus indeksowi kolumny
Na przykład dla size = 4 tablica postrzępiona powinna wyglądać tak:
[0]
[1, 2]
[2, 3, 4]
[3, 4, 5, 6]Spróbuj swoich sił
public class CreateTriangle
{
// Zaimplementuj metodę CreateTriangle
public static int[][] createTriangle(int size)
{
// Napisz tutaj swój kod
}
}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