multidimensional arrays
Acest tutorial explică totul despre matricile multidimensionale și matricile zimțate în C # cu exemple. Tablourile multidimensionale sunt, de asemenea, cunoscute sub numele de tablouri dreptunghiulare:
Am explorat totul despre matrici și matrici unidimensionale în tutorialul nostru anterior.
În acest tutorial, vom afla detalii despre matricile multi-dimensionale și matricile Jagged în C #, împreună cu exemple.
=> Explorați aici tutorialele noastre de instruire C # în profunzime
Ce veți învăța:
C # Tablouri multi-dimensionale
Tablourile multidimensionale sunt, de asemenea, cunoscute sub numele de tablouri dreptunghiulare. Tablourile multidimensionale pot fi clasificate în continuare în tablouri bidimensionale sau tridimensionale.
Spre deosebire de matricile unidimensionale în care datele sunt stocate într-o manieră secvențială, o matrice multidimensională stochează date în format tabelar, adică sub formă de rânduri și coloane. Această dispunere tabelară a datelor este, de asemenea, cunoscută sub numele de matrice.
Matrice bidimensionale
Cea mai simplă formă de matrice multidimensională este o matrice bidimensională. Un tablou bidimensional poate fi format prin stivuirea mai multor matrice unidimensionale. Următoarea figură vă va ajuta să înțelegeți mai bine conceptul.
Imaginea de mai sus este o reprezentare grafică a modului în care arată matricea bidimensională. Se notează cu un rând și o coloană. Prin urmare, fiecare bloc de construcție al matricei bidimensionale va fi alcătuit din indexul care reprezintă numărul rândului și numărul coloanei.
Tablourile multidimensionale sunt declarate ca matricea unidimensională, singura diferență fiind includerea virgulei în paranteză pătrată pentru a reprezenta rânduri, coloane etc.
string( , ) strArray = new string(2,2);
Acum, să aruncăm o privire la un exemplu pentru a inițializa o matrice bidimensională.
O matrice 2-D este declarată de
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ };
De exemplu, să presupunem că dacă elementul meu matrice are rândul „i” și coloana „j”, atunci îl putem accesa folosind următoarea matrice index (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();
Ieșirea următorului program va fi:
fruitArray (0,0) = măr
fruitArray (0,1) = mango
fruitArray (1.0) = portocaliu
fruitArray (1,1) = banana
Explicaţie:
Prima parte a programului este declarația Array. Am declarat o matrice de tip șir de dimensiunea rândului 2 și dimensiunea coloanei 2. În partea următoare, am încercat să accesăm matricea folosind bucla for.
Am accesat o buclă imbricată pentru accesarea valorilor. Bucla exterioară oferă numărul rândului, adică va începe cu rândul „zero” și apoi va merge mai departe. Bucla interioară definește numărul coloanei. Cu fiecare număr de rând trecut de primul pentru buclă, al doilea pentru buclă va atribui un număr de coloană și va accesa datele din celulă.
Matrice zimțate în C #
Un alt tip de matrice disponibil cu C # este un Jagged Array. O matrice dentată poate fi definită ca o matrice formată din matrice. Tablourile dentate sunt folosite pentru a stoca tablouri în locul altor tipuri de date.
O matrice dentată poate fi inițializată utilizând două paranteze pătrate, unde prima paranteză pătrată indică dimensiunea matricei care este definită și a doua paranteză indică dimensiunea matricei care urmează să fie stocată în interiorul matricei dentate.
Declarație Jagged Array
După cum sa discutat, un tablou cu denivelări poate fi inițializat prin următoarea sintaxă:
string( )( ) stringArr = new string(2)( );
O matrice zimțată poate stoca mai multe matrice cu lungimi diferite. Putem declara o matrice de lungime 2 și o altă matrice de lungime 5 și ambele pot fi stocate în aceeași matrice dentată.
Element de umplere în interiorul matricei zimțate
Să inițializăm mai întâi un Jagged Array.
arrayJag(0) = new string (2) ; arrayJag(1) = new string (3) ;
În exemplul de mai sus, am inițializat o matrice de tip șir cu indicele „0” și „1” care conține o matrice de dimensiuni definită în paranteză. Al 0-lea index conține o matrice de tip șir de lungime 2, iar indexul „1” conține o matrice de tip șir de lungime 3.
Așa am inițializat o matrice. Să inițializăm acum și să punem valori într-o matrice denivelată.
arrayJag(0) = new string (2) {“apple”, “mango”}; arrayJag(1) = new string (3) {“orange”, “banana”, “guava”};
Prin urmare, așa cum se arată în exemplul de mai sus, matricea dentată poate fi declarată și cu valori. Pentru a adăuga valori, plasăm o paranteză crețată după matricea zimțată declarată cu lista de valori.
De asemenea, este posibilă inițializarea matricei denivelate în timp ce o declarați.
Acest lucru se poate face utilizând următoarea abordare.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} };
În exemplul de mai sus, am definit o matrice Jagged cu numele „jaggedArray” cu dimensiunea 2 și apoi în interiorul parantezei buclate am definit și le-am declarat matricile constitutive.
Preluarea datelor dintr-o matrice zimțată
Până acum am aflat despre introducerea datelor într-o matrice Jagged. Acum, vom discuta despre metoda de preluare a datelor dintr-o matrice Jagged. Vom folosi același exemplu pe care l-am discutat mai devreme și vom încerca să preluăm toate datele din acea matrice.
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 Ieșirea următorului program va fi:
mango de mere
guava de banane portocalii
Explicaţie:
diferența dintre testarea cutiei albe și testarea cutiei negre
Am folosit două bucle pentru a traversa elementele. Prima buclă for a definit indexul pentru matricea Jagged. O altă buclă imbricată a fost folosită pentru a traversa matricea prezentă în indexul matricii zimțate dat, apoi am imprimat rezultatul pe consolă.
Puncte de reținut:
- O matrice dentată este o matrice de matrice. adică stochează matrici ca valori.
- Matricea zimțată va arunca o excepție în afara intervalului dacă indexul specificat nu există.
Concluzie
În acest tutorial, am aflat despre matrici Jagged și Multidimensional în C #. Am învățat cum să declarăm și să inițializăm un tablou bidimensional. De asemenea, am creat un program simplu pentru a extrage date dintr-un tablou bidimensional.
Apoi am discutat în detaliu despre matricea Jagged, care este o matrice de matrice.
O matrice Jagged este unică în sine, deoarece stochează matrici ca valori. Matricele zimțate sunt destul de similare cu alte tablouri, singura diferență fiind tipul de valoare pe care o stochează.
=> GRATUIT C # Tutoriale de instruire pentru toți
Lectură recomandată
- Matrice în STL
- C # Array: Cum să declarați, inițializați și accesați o matrice în C #?
- Matrice multidimensionale în C ++
- Matrice C ++ cu exemple
- Utilizarea matricilor cu funcții în C ++
- Matrice VBScript: Utilizarea funcțiilor DIM, REDIM, Split și Ubound Array
- Introduceți mai multe documente în MongoDB folosind matrici
- Tipuri de date Java, bucle, tablouri, comutatoare și afirmații