Esercitazione sugli array C#: creazione, dichiarazione, inizializzazione
⚡ Riepilogo intelligente
Gli array in C# memorizzano una collezione di elementi di dimensioni fisse che condividono lo stesso tipo di dati sotto un unico nome di variabile. Ogni elemento si trova in un indice basato su zero, quindi la dichiarazione, l'inizializzazione e l'accesso ai valori rimangono veloci e prevedibili.
Cos'è un array in C#?
Un array viene utilizzato per memorizzare una raccolta o una serie di elementi. Questi elementi saranno dello stesso tipo.
Quindi, ad esempio, se avessi un array di valori interi, l'array potrebbe essere una raccolta di valori come [1, 2, 3, 4]. Qui il numero di elementi nell'array è 4.
Gli array sono utili quando si desidera archiviare una raccolta di valori dello stesso tipo. Quindi, invece di dichiarare a variabile per ogni elemento, puoi semplicemente dichiarare una variabile.
Questa variabile punterà a un array o elenco di elementi, che sarà responsabile della memorizzazione degli elementi dell'array.
Diamo un'occhiata a come possiamo lavorare con gli array in C#. Nel nostro esempio, dichiareremo un array di numeri interi e lavoreremo con essi di conseguenza.
Tieni presente che tutto il codice seguente viene creato nel file Program.cs.
Passo 1) Dichiarazione di un array – Il primo passo è dichiarare un array. Vediamo come possiamo ottenere questo risultato con l'esempio di codice seguente.
Code Spiegazione:-
- La prima parte è la tipo di dati. Specifica il tipo di elementi utilizzati nell'array. Quindi nel nostro caso stiamo creando un array di numeri interi.
- La seconda parte [ ], che specifica il rango dell'array. (Il rango è un segnaposto che specifica il numero di elementi che l'array conterrà)
- Il prossimo è il nome dell'array che nel nostro caso è "valori". Nota che vedi una sottolineatura ondulata verde, non preoccuparti. Questo è solo .Net che dice che hai dichiarato un array, ma non lo usi da nessuna parte.
Passo 2) Il passo successivo è inizializzare l'array. Qui specificheremo il numero di valori che l'array conterrà. Assegneremo anche valori a ciascun elemento dell'array.
Code Spiegazione:-
- Per prima cosa, impostiamo il numero di elementi che l'array conterrà a 3. Quindi tra parentesi quadre, stiamo dicendo che l'array conterrà 3 elementi.
- Successivamente, assegniamo dei valori a ciascun elemento dell'array. Possiamo farlo specificando il nome della variabile e la sua posizione nell'array. Quindi, values[0] significa che stiamo memorizzando un valore nella prima posizione dell'array. Analogamente, per accedere alla seconda posizione, utilizziamo la notazione values[1] e così via.
Note:: – Negli Array, la posizione dell'indice inizia da 0.
Passo 3) Mostriamo ora i singoli elementi dell'array nella Console. Aggiungiamo il codice seguente per raggiungere questo obiettivo.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] value; value=new Int32[3]; value[0]=1; value[1]=2; value[2]=3; Console.WriteLine(value[0]); Console.WriteLine(value[1]); Console.WriteLine(value[2]); Console.ReadKey(); } } }
Code Spiegazione:-
Questa è la parte semplice in cui utilizziamo semplicemente il metodo Console.WriteLine per inviare ciascun valore dell'elemento alla console.
Tieni presente che, ancora una volta, stiamo accedendo a ciascun elemento con l'aiuto del nome della variabile dell'array insieme alla posizione dell'indice.
Se il codice sopra riportato viene inserito correttamente e il programma viene eseguito, verrà visualizzato il seguente output.
Produzione:
Dall'output, puoi vedere tutti i valori dell'array visualizzati nella Console.
Come scorrere un array C# usando foreach
Leggere ogni elemento tramite il suo indice funziona, ma diventa noioso quando un array contiene molti valori. Il ciclo foreach offre un modo più pulito per visitare ogni elemento di un array in ordine senza traccrea tu stesso una variabile indice.
L'istruzione foreach prende ogni elemento dell'array uno alla volta e lo copia in una variabile di ciclo. Questa variabile viene poi utilizzata all'interno del corpo del ciclo. Poiché il ciclo si arresta automaticamente all'ultimo elemento, foreach elimina il rischio di leggere oltre la fine dell'array.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] values = new Int32[3] {1, 2, 3}; foreach (Int32 item in values) { Console.WriteLine(item); } Console.ReadKey(); } } }
L'esempio sopra dichiara e inizializza un array di tre interi, quindi lo attraversa con foreach. Ad ogni passaggio la variabile articolo riceve il valore successivo e Console.WriteLine lo stampa. L'output è costituito dai numeri 1, 2 e 3 su righe separate.
Punti chiave da ricordare sull'utilizzo del ciclo foreach con gli array:
- La variabile del ciclo è di sola lettura, quindi foreach è più adatto per leggere i valori piuttosto che per modificarli direttamente.
- Per modificare gli elementi durante lo scorrimentoping, utilizzare invece un ciclo for con un indice.
- Il ciclo foreach funziona con array monodimensionali, array multidimensionali e qualsiasi collezione che supporti l'iterazione.
Array multidimensionali in C#
Gli array mostrati finora sono monodimensionali, ovvero memorizzano un semplice elenco di valori. C# supporta anche array multidimensionali, che dispongono gli elementi in una griglia di righe e colonne. Un array bidimensionale è la forma più comune ed è adatto a dati come matrici, tabelloni di gioco e tabelle.
Per dichiarare un array bidimensionale, è sufficiente inserire una virgola tra parentesi quadre. Ogni virgola aggiuntiva indica una dimensione in più, quindi int[,] rappresenta un array bidimensionale e int[,,] un array tridimensionale. Gli elementi vengono quindi raggiunti tramite un indice per ogni dimensione.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[,] matrix = new int[2, 2] { {1, 2}, {3, 4} }; Console.WriteLine(matrix[0, 0]); Console.WriteLine(matrix[1, 1]); Console.ReadKey(); } } }
Qui l'array matrix contiene due righe e due colonne. L'elemento matrix[0, 0] restituisce 1 e matrix[1, 1] restituisce 4. Il numero di dimensioni è fisso quando l'array viene dichiarato, mentre la dimensione di ciascuna dimensione viene impostata quando l'array viene creato.
Array irregolari in C#
Un array irregolare è un array i cui elementi sono a loro volta array. A differenza di un array multidimensionale rettangolare, ogni array interno può avere una lunghezza diversa, motivo per cui un array irregolare viene spesso chiamato array di array. Questa flessibilità è utile quando le righe contengono naturalmente un numero diverso di valori.
Si dichiara un array irregolare con due coppie di parentesi quadre, quindi si crea ciascun array interno separatamente. L'esempio seguente crea un array irregolare in cui la prima riga contiene tre valori e la seconda riga ne contiene due.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[][] jagged = new int[2][]; jagged[0] = new int[] {1, 2, 3}; jagged[1] = new int[] {4, 5}; Console.WriteLine(jagged[0][2]); Console.WriteLine(jagged[1][1]); Console.ReadKey(); } } }
L'espressione jagged[0][2] legge il terzo elemento della prima riga, che è 3, e jagged[1][1] legge il secondo elemento della seconda riga, che è 5. Poiché ogni riga è un array separato, gli array irregolari utilizzano la memoria in modo efficiente quando la lunghezza delle righe varia, anche se necessitano di un passaggio aggiuntivo per inizializzare ogni array interno.





