multidimensional arrays
Aquest tutorial explica tot sobre matrius multidimensionals i matrius dentats a C # amb exemples. Les matrius multidimensionals també es coneixen com a matrius rectangulars:
Hem explorat tot sobre matrius i matrius unidimensionals al nostre tutorial anterior.
En aquest tutorial, coneixerem detalladament matrius multidimensionals i matrius dentats a C # juntament amb exemples.
=> Exploreu aquí els nostres tutorials de formació en profunditat C #
Què aprendreu:
Matrius multidimensionals C #
Les matrius multidimensionals també es coneixen com a matrius rectangulars. Les matrius multidimensionals es poden classificar a més en matrius bidimensionals o tridimensionals.
A diferència de les matrius unidimensionals on les dades s’emmagatzemen de manera seqüencial, una matriu multidimensional emmagatzema les dades en format tabular, és a dir, en forma de files i columnes. Aquesta disposició tabular de dades també es coneix com a matriu.
Matrius bidimensionals
La forma més simple de matriu multidimensional és una matriu bidimensional. Es pot formar una matriu bidimensional apilant diverses matrius unidimensionals. La figura següent ajudarà a entendre millor el concepte.
La imatge anterior és una representació gràfica de l’aspecte de la matriu bidimensional. Es denota per tenir una fila i una columna. Per tant, cada bloc de la matriu bidimensional estarà format per l'índex que representa el número de fila i el número de columna.
Les matrius multidimensionals es declaren com la matriu unidimensional, amb l'única diferència en la inclusió de comes dins del claudàtor per representar files, columnes, etc.
string( , ) strArray = new string(2,2);
Vegem ara un exemple per inicialitzar una matriu bidimensional.
Una matriu 2-D és declarada per
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ };
Per exemple, diguem que si el meu element de matriu té fila 'i' i columna 'j', podem accedir-hi mitjançant la matriu d'índex següent (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();
La sortida del programa següent serà:
fruitArray (0,0) = poma
fruitArray (0,1) = mànec
fruitArray(1,0) = orange
fruitArray(1,1) = banana
Explicació:
La primera part del programa és la declaració Array. Hem declarat una matriu de tipus cadena de mida de fila 2 i mida de columna 2. A la part següent, hem intentat accedir a la matriu mitjançant el bucle for.
Hem utilitzat un bucle imbricat per accedir als valors. El bucle exterior proporciona el número de fila, és a dir, començarà amb la fila 'zero' i després avançarà. El bucle interior defineix el número de columna. Amb cada número de fila que passa el primer bucle for, el segon bucle assignarà un número de columna i accedirà a les dades des de la cel·la.
Matrius dentats a C #
Un altre tipus de matriu disponible amb C # és una matriu irregular. Una matriu dentada es pot definir com una matriu que consisteix en matrius. Les matrius dentades s’utilitzen per emmagatzemar matrius en lloc d’altres tipus de dades.
Es pot inicialitzar una matriu dentada mitjançant dos claudàtors, on el primer claudàtor indica la mida de la matriu que s’està definint i el segon claudàtor indica la dimensió de la matriu que s’emmagatzemarà dins de la matriu dentada.
Declaració de matriu dentada
Com es va comentar, una matriu dentada es pot inicialitzar mitjançant la sintaxi següent:
string( )( ) stringArr = new string(2)( );
Una matriu dentada pot emmagatzemar diverses matrius amb longituds diferents. Podem declarar una matriu de longitud 2 i una altra de longitud 5 i tots dos es poden emmagatzemar en la mateixa matriu dentada.
Element d'ompliment dins de la matriu dentada
Primer inicialitzem una matriu dentada.
arrayJag(0) = new string (2) ; arrayJag(1) = new string (3) ;
A l'exemple anterior, hem inicialitzat una matriu dentada de tipus cadena amb índex '0' i '1' que conté una matriu de mida definida dins del claudàtor. L'índex 0 conté una matriu de tipus cadena de longitud 2 i l'índex '1' conté una matriu de tipus cadena de longitud 3.
Així vam inicialitzar una matriu. Ara inicialitzem i posem valors dins d’una matriu irregular.
arrayJag(0) = new string (2) {“apple”, “mango”}; arrayJag(1) = new string (3) {“orange”, “banana”, “guava”};
Per tant, com es mostra a l'exemple anterior, la matriu dentada també es pot declarar amb valors. Per afegir valors, posem un claudàtor després de la matriu dentada declarada amb la llista de valors.
També és possible inicialitzar la matriu dentada mentre es declara.
Això es pot fer mitjançant el següent enfocament.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} };
A l'exemple anterior, vam definir una matriu dentada amb el nom 'jaggedArray' amb la mida 2 i, a continuació, dins del claudàtor vam definir i declarar les seves matrius constituents.
Recupereu dades d'una matriu irregular
Fins ara hem après a posar dades dins d’una matriu dentada. Ara, parlarem del mètode per recuperar dades d'una matriu dentada. Utilitzarem el mateix exemple que hem comentat anteriorment i intentarem recuperar totes les dades d’aquesta matriu.
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 La sortida del programa següent serà:
mango de poma
guayaba de plàtan taronja
Explicació:
assistència al servei d’atenció al client preguntes i respostes d’entrevistes
N'hem utilitzat dos per a bucles per transversalitzar els elements. El primer bucle for va definir l'índex de la matriu dentada. Es va utilitzar un altre bucle imbricat per transversalitzar la matriu present en l'índex de matriu dentat donat, i després vam imprimir el resultat a la consola.
Punts per recordar:
- Una matriu dentada és una matriu de matrius. és a dir, emmagatzema matrius com a valors.
- La matriu dentada llançarà una excepció fora de l'interval si l'índex especificat no existeix.
Conclusió
En aquest tutorial hem après sobre matrius dentats i multidimensionals a C #. Hem après a declarar i inicialitzar una matriu bidimensional. També hem creat un programa senzill per recuperar dades d'una matriu bidimensional.
A continuació, vam parlar detalladament sobre la matriu dentada, que és una matriu de matrius.
Una matriu dentada és única per si mateixa ja que emmagatzema matrius com a valors. Les matrius dentades són bastant similars a altres matrius, amb l'única diferència en el tipus de valor que emmagatzema.
=> Tutorials de formació C # GRATU ForTS per a tothom
Lectura recomanada
- Matrius a STL
- Matriu C #: Com declarar, inicialitzar i accedir a una matriu a C #?
- Matrius multidimensionals en C ++
- Matrius C ++ amb exemples
- Ús de matrius amb funcions a C ++
- Matrius VBScript: utilitzant funcions de matriu DIM, REDIM, Split i Ubound
- Inseriu diversos documents a MongoDB mitjançant matrius
- Tipus de dades, bucles, matrius, commutadors i assercions de Java