multidimensional arrays
Ten samouczek wyjaśnia wszystko o tablicach wielowymiarowych i tablicach poszarpanych w języku C # z przykładami. Tablice wielowymiarowe są również znane jako tablice prostokątne:
Omówiliśmy wszystko na temat tablic i tablic jednowymiarowych w naszym poprzednim samouczku.
W tym samouczku szczegółowo poznamy tablice wielowymiarowe i poszarpane w języku C # wraz z przykładami.
=> Zapoznaj się z naszymi szczegółowymi samouczkami szkoleniowymi C # tutaj
Czego się nauczysz:
Tablice wielowymiarowe w języku C #
Tablice wielowymiarowe są również znane jako tablice prostokątne. Tablice wielowymiarowe można dalej klasyfikować na tablice dwu- lub trójwymiarowe.
W przeciwieństwie do tablic jednowymiarowych, w których dane są przechowywane w sposób sekwencyjny, tablica wielowymiarowa przechowuje dane w formacie tabelarycznym, tj. W postaci wierszy i kolumn. Ten tabelaryczny układ danych jest również znany jako macierz.
Tablice dwuwymiarowe
Najprostszą formą tablicy wielowymiarowej jest tablica dwuwymiarowa. Dwuwymiarową tablicę można utworzyć, układając razem kilka jednowymiarowych tablic. Poniższy rysunek pomoże w lepszym zrozumieniu koncepcji.
Powyższy obraz jest graficzną reprezentacją tego, jak wygląda dwuwymiarowa tablica. Jest oznaczony wierszem i kolumną. W związku z tym każdy blok składowy dwuwymiarowej tablicy będzie składał się z indeksu reprezentującego numer wiersza i numer kolumny.
Tablice wielowymiarowe są deklarowane jak tablice jednowymiarowe, z tą różnicą, że w nawiasach kwadratowych umieszcza się przecinek w celu reprezentowania wierszy, kolumn itp.
string[ , ] strArray = new string[2,2];
Przyjrzyjmy się teraz przykładowi inicjalizacji dwuwymiarowej tablicy.
Tablica 2-W jest deklarowana przez
string [ , ] fruitArray = new string [2,2] { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ };
Na przykład, powiedzmy, że jeśli mój element tablicy ma wiersz „i” i kolumnę „j”, to możemy uzyskać do niego dostęp, używając następującej tablicy indeksów [i, j].
string [ , ] fruitArray = new string [2,2] { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ }; /* output for the elements present in array*/ for (int i = 0; i <2; i++) { for (int j = 0; j < 2; j++) { Console.WriteLine('fruitArray[{0},{1}] = {2}', i, j, fruitArray[i,j]); } } Console.ReadKey();
Wynikiem tego programu będzie:
fruitArray [0,0] = jabłko
fruitArray [0,1] = mango
fruitArray [1.0] = pomarańczowy
fruitArray [1,1] = banan
Wyjaśnienie:
Pierwszą częścią programu jest deklaracja Array. Zadeklarowaliśmy tablicę typu string o rozmiarze wiersza 2 i rozmiaru kolumny 2. W następnej części próbowaliśmy uzyskać dostęp do tablicy za pomocą pętli for.
W celu uzyskania dostępu do wartości użyliśmy zagnieżdżonej pętli for. Zewnętrzna pętla for podaje numer wiersza, tj. Rozpocznie się od wiersza „zerowego”, a następnie przejdzie do przodu. Wewnętrzna pętla for określa numer kolumny. Z każdym numerem wiersza przekazanym przez pierwszą pętlę for, druga pętla for przypisze numer kolumny i uzyska dostęp do danych z komórki.
Postrzępione tablice w C #
Innym typem tablicy, która jest dostępna w języku C #, jest tablica postrzępiona. Tablicę postrzępioną można zdefiniować jako tablicę składającą się z tablic. Tablice postrzępione służą do przechowywania tablic zamiast innych typów danych.
Tablicę postrzępioną można zainicjować za pomocą dwóch nawiasów kwadratowych, gdzie pierwszy nawias kwadratowy oznacza rozmiar definiowanej tablicy, a drugi nawias oznacza wymiar tablicy, który będzie przechowywany w tablicy postrzępionej.
Deklaracja postrzępionych tablic
Jak omówiono, tablicę postrzępioną można zainicjować za pomocą następującej składni:
string[ ][ ] stringArr = new string[2][ ];
Tablica postrzępiona może przechowywać wiele tablic o różnych długościach. Możemy zadeklarować tablicę o długości 2 i inną tablicę o długości 5 i obie mogą być przechowywane w tej samej tablicy postrzępionej.
Wypełnianie elementu wewnątrz poszarpanej tablicy
Najpierw zainicjalizujmy Jagged Array.
arrayJag[0] = new string [2] ; arrayJag[1] = new string [3] ;
W powyższym przykładzie zainicjowaliśmy tablicę postrzępioną typu łańcuchowego z indeksami „0” i „1” zawierającą tablicę o rozmiarze zdefiniowanym w nawiasach kwadratowych. Indeks 0 zawiera tablicę typu łańcuchowego o długości 2, a indeks „1” zawiera tablicę typu łańcuchowego o długości 3.
Oto jak inicjalizujemy tablicę. Zainicjalizujmy teraz i umieśćmy wartości w tablicy postrzępionej.
arrayJag[0] = new string [2] {“apple”, “mango”}; arrayJag[1] = new string [3] {“orange”, “banana”, “guava”};
Stąd, jak pokazano w powyższym przykładzie, tablicę postrzępioną można również zadeklarować z wartościami. Aby dodać wartości, umieszczamy nawias klamrowy po zadeklarowanej tablicy postrzępionej z listą wartości.
Możliwe jest również zainicjowanie tablicy postrzępionej podczas jej deklarowania.
Można to zrobić, stosując następujące podejście.
string[][] jaggedArray = new string [2][] { new string[] {“apple”, “mango”}, new string[] {“orange”, “banana”, “guava”} };
W powyższym przykładzie zdefiniowaliśmy tablicę Jagged o nazwie „jaggedArray” o rozmiarze 2, a następnie wewnątrz nawiasu klamrowego zdefiniowaliśmy i zadeklarowaliśmy jej składowe tablice.
Pobierz dane z poszarpanej tablicy
Do tej pory dowiedzieliśmy się o umieszczaniu danych w tablicy Jagged. Teraz omówimy metodę pobierania danych z tablicy Jagged. Skorzystamy z tego samego przykładu, który omówiliśmy wcześniej, i spróbujemy pobrać wszystkie dane z tej tablicy.
string[][] jaggedArray = new string [2][] { new string[] {“apple”, “mango”}, new string[] {“orange”, “banana”, “guava”} }; /* retrieve value from each array element */ for (int i = 0; i Wynikiem tego programu będzie:
jabłko mango
pomarańczowy banan gujawa
Wyjaśnienie:
przykład planu testów dla aplikacji internetowej
Użyliśmy dwóch jako pętli do poprzecznych elementów. Pierwsza pętla for definiowała indeks tablicy Jagged. Kolejna zagnieżdżona pętla for została użyta do przejścia poprzecznego przez tablicę obecną w danym indeksie tablicy postrzępionej, a następnie wydrukowaliśmy wynik na konsolę.
Punkty do zapamiętania:
- Tablica postrzępiona to tablica tablic. tj. przechowuje tablice jako swoje wartości.
- Tablica postrzępiona wyrzuci wyjątek poza zakresem, jeśli określony indeks nie istnieje.
Wniosek
W tym samouczku poznaliśmy tablice postrzępione i wielowymiarowe w języku C #. Dowiedzieliśmy się, jak deklarować i inicjalizować dwuwymiarową tablicę. Stworzyliśmy również prosty program do pobierania danych z dwuwymiarowej tablicy.
Następnie omówiliśmy szczegółowo tablicę Jagged, która jest tablicą tablic.
Tablica postrzępiona jest wyjątkowa sama w sobie, ponieważ przechowuje tablice jako wartości. Tablice postrzępione są dość podobne do innych tablic, z tą różnicą, że rodzaj przechowywanej wartości.
=> BEZPŁATNE samouczki szkoleniowe C # dla wszystkich
rekomendowane lektury
- Tablice w STL
- C # Array: Jak zadeklarować, zainicjować i uzyskać dostęp do tablicy w C #?
- Tablice wielowymiarowe w C ++
- Tablice C ++ z przykładami
- Używanie tablic z funkcjami w C ++
- Tablice VBScript: Korzystanie z funkcji DIM, REDIM, Split i Ubound Array
- Wstaw wiele dokumentów do MongoDB za pomocą tablic
- Typy danych Java, pętle, tablice, przełączniki i asercje