Array in C#

Vediamo come sfruttare appieno questa struttura dati fondamentale per organizzare ed elaborare i dati in modo efficiente.

Programmazione

Gli array costituiscono un pilastro fondamentale nella programmazione, fornendo un modo efficiente per archiviare e gestire una serie di elementi dello stesso tipo. In C#, gli array sono strumenti essenziali per l’organizzazione dei dati, consentendo un accesso diretto agli elementi tramite un indice numerico.

In quest’articolo, esamineremo da vicino il concetto di array, impareremo a crearli, ad accedere e modificare i loro elementi, a eseguire cicli attraverso for e foreach, e infine vedremo alcuni metodi utili per lavorare con gli array.

Definizione di Array

Un array è una collezione di elementi omogenei, ovvero dello stesso tipo, che vengono memorizzati in posizioni di memoria consecutive. A ciascun elemento dell’array viene associato un indice univoco che inizia da zero e incrementa sequenzialmente. Gli array sono impiegati per raggruppare dati che devono essere trattati come un’unica entità.

Sintassi

La sintassi per creare un array in C# è la seguente:

Tipo[] nomeArray = new Tipo[dimensione];

dove Tipo è il tipo di array che vogliamo utilizzare, ad esempio un int:

int[] numeri = new int[5]; // Crea un array di interi con 5 elementi, di valore 0

Accesso agli elementi

Possiamo accedere agli elementi di un array utilizzando l’indice, che inizia da zero.

int primo = numeri[0];
int secondo = numeri[1];

Modifica elementi

Possiamo modificare gli elementi dell’array assegnando un nuovo valore tramite l’uso degli indici.

numeri[1] = 5; // Modifica il valore del secondo elemento e lo imposta a 5

Ciclo for Array

Possiamo utilizzare un ciclo for per scorrere gli elementi di un array utilizzando gli indici.

for (int i = 0; i < numeri.Length; i++)
{
    Console.WriteLine(numeri[i]);
}

Ciclo foreach Array

Il ciclo foreach semplifica la struttura, permettendo di nascondere i dettagli dell’indice

foreach (int numero in numeri)
{
    Console.WriteLine(numero);
}

Metodi utili

All’interno del C#, abbiamo vari metodi che permettono di lavorare con gli array.

int[] numeri = new numeri[] { 1, 2, 3, 4, 5, 6 };

// Restituisce la lunghezza dell'array
int lunghezza = numeri.Length; 

// Restituisce l'indice del primo elemento di valore 2
int indice = Array.IndexOf(numeri, 2); 

 // Restituisce true se trova l'elemento di valore 7, false altrimenti
bool contiene = Array.Contains(numeri, 7);

// Ordina gli elementi
Array.Sort(numeri); 

// Ordina ma in maniera inversa
Array.Reverse(numeri);

// Copia 3 elementi dell'array numeri, dentro l'array copia
int[] copia = new int[3];
Array.Copy(numeri, copia, 3);

// Cancella gli elementi dell'array dalla posizione di indice 0 fino alla 5.
Array.Clear(numeri, 0, 5);

Array Multidimensionali

Un array multidimensionale è una matrice di elementi, e ad ogni elemento vengono associati 2 o più indici.

float[,] matrice = new float[5, 5]; // Crea una matrice 5x5 di float

Per accedere ai singoli elementi utilizziamo questa sintassi:

float valore = matrice[2, 1]; // Prendiamo l'elemento nella prima riga e seconda colonna

Per scorrere gli elementi di una matrice, possiamo utilizzare un ciclo for annidato:

for (int riga = 0; riga < matrice.GetLength(0); riga++)
{
    for (int colonna = 0; colonna < matrice.GetLength(1); colonna++)
    {
        Console.Write(matrice[riga, colonna] + " ");
    }
    Console.WriteLine();
}

Articoli correlati

Le strutture (o struct in inglese) sono un tipo di dati composto generalmente utilizzato per incapsulare piccoli gruppi di variabili correlate, ad esempio le coordinate di un rettangolo o il posizionamento di un punto nello spazio. Si tratta quindi di un tipo di dato ideale per piccoli oggetti, anche se talvolta uno stesso concetto potrebbe […]

Strutture in C#

Le strutture (o struct in inglese) sono un tipo di dati composto generalmente utilizzato per incapsulare piccoli gruppi di variabili correlate, ad esempio le coordinate di un rettangolo o il posizionamento di un punto nello spazio. Si tratta quindi di un tipo di dato ideale per piccoli oggetti, anche se talvolta uno stesso concetto potrebbe […]

Nel mondo digitale odierno, lo sviluppo di videogiochi rappresenta una frontiera affascinante e in costante evoluzione che combina creatività, tecnologia e narrativa in modi unici e coinvolgenti. Che tu sia un aspirante game developer o semplicemente curioso di sapere cosa si nasconde dietro le quinte dei tuoi giochi preferiti, entrare nel mondo dello sviluppo di […]

Sviluppo di videogiochi: come funziona il Game Development

Nel mondo digitale odierno, lo sviluppo di videogiochi rappresenta una frontiera affascinante e in costante evoluzione che combina creatività, tecnologia e narrativa in modi unici e coinvolgenti. Che tu sia un aspirante game developer o semplicemente curioso di sapere cosa si nasconde dietro le quinte dei tuoi giochi preferiti, entrare nel mondo dello sviluppo di […]

L’ereditarietà è un concetto fondamentale della programmazione ad oggetti, e in particolare del linguaggio C#. L’ereditarietà permette di definire una nuova classe basata su una classe esistente, ereditandone i membri (proprietà, metodi, campi) e aggiungendo eventualmente nuovi membri o sovrascrivendoli. In questo articolo vedremo come utilizzare l’ereditarietà in C# per migliorare l’organizzazione del codice. Prima […]

Ereditarietà in C#: vantaggi e svantaggi

L’ereditarietà è un concetto fondamentale della programmazione ad oggetti, e in particolare del linguaggio C#. L’ereditarietà permette di definire una nuova classe basata su una classe esistente, ereditandone i membri (proprietà, metodi, campi) e aggiungendo eventualmente nuovi membri o sovrascrivendoli. In questo articolo vedremo come utilizzare l’ereditarietà in C# per migliorare l’organizzazione del codice. Prima […]

Le classi sono uno dei concetti fondamentali della programmazione orientata agli oggetti (OOP) in C#. Una classe definisce un tipo di dati che può contenere dati e metodi che operano su questi dati. In questo articolo, esploreremo come le classi funzionano in C# e come possono essere utilizzate per creare programmi robusti e modulari. Definizione […]

Le classi in C#: il fondamento della programmazione OOP

Le classi sono uno dei concetti fondamentali della programmazione orientata agli oggetti (OOP) in C#. Una classe definisce un tipo di dati che può contenere dati e metodi che operano su questi dati. In questo articolo, esploreremo come le classi funzionano in C# e come possono essere utilizzate per creare programmi robusti e modulari. Definizione […]

Crea il tuo account gratuito Gedemy

Gedemy è la piattaforma di formazione che ti permette di sviluppare competenze verticali corsi in un unico piano realizzati da esperti in ambiti come Marketing, Business, Design, Tech, AI e molto altro.

Login

Oppure

Non sei ancora registrato?