multidimensional arrays
Questo tutorial spiega tutto sugli array multidimensionali e sugli array frastagliati in C # con esempi. Gli array multidimensionali sono noti anche come array rettangolari:
Abbiamo esplorato tutto sugli array e sugli array monodimensionali nel nostro tutorial precedente.
In questo tutorial, impareremo in dettaglio gli array multidimensionali e gli array frastagliati in C # insieme agli esempi.
=> Esplora qui i nostri tutorial di formazione approfonditi su C #
Cosa imparerai:
Matrici multidimensionali C #
Gli array multidimensionali sono noti anche come array rettangolari. Gli array multidimensionali possono essere ulteriormente classificati in array bidimensionali o tridimensionali.
A differenza degli array monodimensionali in cui i dati vengono memorizzati in modo sequenziale lineare, un array multidimensionale memorizza i dati in formato tabulare, ovvero sotto forma di righe e colonne. Questa disposizione tabulare dei dati è anche nota come matrice.
Array bidimensionali
La forma più semplice di array multidimensionale è un array bidimensionale. Un array bidimensionale può essere formato impilando più array unidimensionali insieme. La figura seguente aiuterà a comprendere meglio il concetto.
L'immagine sopra è una rappresentazione grafica di come appare l'array bidimensionale. È indicato con una riga e una colonna. Quindi, ogni elemento costitutivo della matrice bidimensionale sarà costituito dall'indice che rappresenta il numero di riga e il numero di colonna.
Gli array multidimensionali sono dichiarati come gli array unidimensionali con l'unica differenza che è l'inclusione della virgola all'interno della parentesi quadra per rappresentare righe, colonne, ecc.
string( , ) strArray = new string(2,2);
Ora, diamo un'occhiata a un esempio per inizializzare un array bidimensionale.
Un array 2-D è dichiarato da
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ };
Per esempio, diciamo che se il mio elemento dell'array ha una riga 'i' e una colonna 'j', possiamo accedervi utilizzando il seguente array di indice (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();
L'output del seguente programma sarà:
fruitArray (0,0) = mela
fruitArray (0,1) = mango
fruitArray (1.0) = arancione
fruitArray (1,1) = banana
Spiegazione:
La prima parte del programma è la dichiarazione di array. Abbiamo dichiarato un array di tipo stringa di dimensione riga 2 e dimensione colonna 2. Nella parte successiva, abbiamo provato ad accedere all'array utilizzando il ciclo for.
Abbiamo utilizzato un ciclo for annidato per accedere ai valori. Il ciclo for esterno fornisce il numero di riga, ovvero inizierà con la riga 'zero' e poi si muoverà in avanti. Il ciclo for interno definisce il numero di colonna. Con ogni numero di riga passato dal primo ciclo for, il secondo ciclo for assegnerà un numero di colonna e accederà ai dati dalla cella.
Array frastagliati in C #
Un altro tipo di array disponibile con C # è un Jagged Array. Un array frastagliato può essere definito come un array costituito da array. Gli array frastagliati vengono utilizzati per archiviare gli array invece di altri tipi di dati.
Un array frastagliato può essere inizializzato utilizzando due parentesi quadre, dove la prima parentesi quadra denota la dimensione dell'array che viene definito e la seconda parentesi denota la dimensione dell'array che verrà memorizzato all'interno dell'array frastagliato.
Dichiarazione di matrice irregolare
Come discusso, un array frastagliato può essere inizializzato dalla seguente sintassi:
string( )( ) stringArr = new string(2)( );
Un array frastagliato può memorizzare più array con lunghezze diverse. Possiamo dichiarare un array di lunghezza 2 e un altro array di lunghezza 5 ed entrambi possono essere memorizzati nello stesso array frastagliato.
Elemento di riempimento all'interno di una matrice dentellata
Inizializza prima un Jagged Array.
arrayJag(0) = new string (2) ; arrayJag(1) = new string (3) ;
Nell'esempio precedente, abbiamo inizializzato un array frastagliato di tipo stringa con indice '0' e '1' contenente un array di dimensioni definite all'interno della parentesi quadra. L'indice 0 contiene un array di tipo stringa di lunghezza 2 e l'indice '1' contiene un array di tipo stringa di lunghezza 3.
Questo è il modo in cui inizializziamo un array. Inizializziamo ora e inseriamo i valori all'interno di un array frastagliato.
arrayJag(0) = new string (2) {“apple”, “mango”}; arrayJag(1) = new string (3) {“orange”, “banana”, “guava”};
Quindi, come mostrato nell'esempio precedente, l'array frastagliato può anche essere dichiarato con valori. Per aggiungere valori, posizioniamo una parentesi graffa dopo la matrice frastagliata dichiarata con l'elenco dei valori.
È anche possibile inizializzare l'array frastagliato mentre lo si dichiara.
Questo può essere fatto usando il seguente approccio.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} };
Nell'esempio precedente, abbiamo definito un array Jagged con il nome 'jaggedArray' con dimensione 2 e quindi all'interno della parentesi graffa abbiamo definito e dichiarato i suoi array costituenti.
Recupera i dati da un array irregolare
Fino ad ora abbiamo imparato a inserire i dati all'interno di un array Jagged. Ora discuteremo il metodo per recuperare i dati da un array frastagliato. Useremo lo stesso esempio che abbiamo discusso in precedenza e proveremo a recuperare tutti i dati da quell'array.
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 L'output del seguente programma sarà:
mela mango
guava arancia banana
Spiegazione:
il miglior convertitore video per mac
Abbiamo usato due anelli for per attraversare gli elementi. Il primo ciclo for ha definito l'indice per l'array Jagged. Un altro ciclo for annidato è stato utilizzato per attraversare l'array presente nell'indice di array frastagliato dato, quindi abbiamo stampato il risultato sulla console.
Punti da ricordare:
- Un array frastagliato è un array di array. cioè memorizza gli array come suoi valori.
- L'array frastagliato genererà un'eccezione fuori intervallo se l'indice specificato non esiste.
Conclusione
In questo tutorial abbiamo imparato a conoscere gli array frastagliati e multidimensionali in C #. Abbiamo imparato come dichiarare e inizializzare un array bidimensionale. Abbiamo anche creato un semplice programma per recuperare i dati da un array bidimensionale.
Quindi abbiamo discusso in dettaglio di Jagged array, che è un array di array.
Un array Jagged è unico in sé poiché memorizza gli array come valori. Gli array frastagliati sono abbastanza simili ad altri array con l'unica differenza che è il tipo di valore che memorizza.
=> Esercitazioni di formazione C # GRATUITE per tutti
Lettura consigliata
- Array in STL
- C # Array: come dichiarare, inizializzare e accedere a un array in C #?
- Array multidimensionali in C ++
- Array C ++ con esempi
- Utilizzo di array con funzioni in C ++
- Array VBScript: utilizzo delle funzioni DIM, REDIM, Split e Ubound Array
- Inserisci più documenti in MongoDB usando gli array
- Java DataType, loop, array, switch e asserzioni