ARRAY

C sharpGli array in c sharp sono collezione di oggetti tutti dello stesso tipo. Un array si dichiara con una coppia di parentesi quadre che seguono la definizione del tipo.

int[] x;

Un array in c sharp ha una dimensione fissa, una volta dichiarato il numero di elementi che contiene tale dimensione non può più essere modificata.

DICHIARAZIONE DI UN ARRAY

int[] x = new int[10];

abbiamo dichiarato un array che contiene 10 elementi, l’indice di un array parte da zero. Per assegnare un valore ad un array si usa la seguente sintassi ricordando che l’indice parte da zero.

x[2] = 50;

Abbiamo assegnato il valore 50 al terzo elemento dell’array.

int y = x[2]

Accesso in lettura al terzo elemento dell’array.

Per inizializzare tutti gli elementi di un array si usa la seguente sintassi:

int[] x = new int[10] {1,2,3,4,5,6,7,8,9,10}

Si può usare l’inferenza del tipo.

int[] x = {1,2,3,4,5,6,7,8,9,10}

il compilatore deduce queste informazioni dal literal, ossia dal numero e tipo di valori contenuti nelle parentesi graffe.

ARRAY IN C SHARP GLI ARRAY MULTIDIMENSIONALI

  • JAGGED ARRAY

int [][] a = new int[3][]

a[0] = new [] {1,2,3};

a[1] = new [] {4,5};

a[2] = new [] {6,7,8,9};

Array di array, ha 3 elementi di tipo array ciascuno dei quali ha dimensione 3, 2, 4. Una forma equivalente alla dichiarazione sopra riportata è la seguente:

int [][] a = {

                    new [] {1,2,3},

                    new [] {4,5},

                    new [] {6,7,8,9}

                   };

int x = [2][2] accediamo al valore 8.

Se sappiamo a differenza dei jagged array che tutti gli array hanno la stessa dimensione allora parliamo di array rettangolari o array multidimensionali.

  • ARRAY RETTANGOLARI

int [ , ] = new int[3,3];  array a due dimensioni

int [ , ] a = {

   {1,2,3},

   {4,5,6},

   {6,7,8}

};

int x = a[1,2] accediamo al valore 6.

using System;
namespace Array
{
    class Program
    {
        static void Main(string[] args)
        {
           int[] x = new []{1,2,3,4,5,6,7,8,9,10};
           foreach(var item in x)
           {
               Console.WriteLine(item);
           }
           /*--ARRAY RETTANGOLARE 5 PER 5 DOVE OGNI PRIMA COLONNA
           VA IMPOSTATA A 0*/
           int[,] array = new int[5,5];
           int counter = 0;
           for(int y = 0; y < 5; y++)//loop nelle righe
           {
               for(int z= 0; z < 5; z++)//loop nelle colonne 
               {
                   ++counter;
                   array[y,z] = (z==0 ? 0 : counter);
               }
           }
           for(int y = 0; y < 5; y++)//loop nelle righe
           {
               for(int z= 0; z < 5; z++)//loop nelle colonne 
                   Console.Write($"{array[y,z]}");
               Console.Write("\n");     
           }
        }
    }
}

APPROFONDIMENTO

Gli array in C# sono una struttura dati che consente di memorizzare una raccolta di elementi dello stesso tipo. Gli array possono essere monodimensionali (unidimensionali), bidimensionali o multidimensionali. Ecco una panoramica su come lavorare con gli array in C#.

Dichiarazione e Inizializzazione degli Array

Array Monodimensionali

Per dichiarare un array monodimensionale in C#, si utilizza la seguente sintassi:

int[] numeri; // dichiarazione
numeri = new int[5]; // inizializzazione con dimensione

// oppure
int[] numeri = new int[5]; // dichiarazione e inizializzazione

// oppure
int[] numeri = { 1, 2, 3, 4, 5 }; // inizializzazione con valori

Array Bidimensionali

Gli array bidimensionali vengono utilizzati per rappresentare tabelle o matrici:

int[,] matrice = new int[3, 3]; // dichiarazione e inizializzazione di una matrice 3×3

// oppure
int[,] matrice = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; // inizializzazione con valori

Accesso agli Elementi dell’Array

Gli elementi dell’array possono essere accessibili utilizzando gli indici:

numeri[0] = 10; // assegna 10 al primo elemento
int primoElemento = numeri[0]; // legge il primo elemento

// Accesso agli elementi in un array bidimensionale
int valore = matrice[1, 2]; // accede all’elemento nella seconda riga e terza colonna
matrice[2, 0] = 42; // assegna 42 all’elemento nella terza riga e prima colonna

Iterazione sugli Elementi dell’Array

È possibile iterare sugli elementi di un array utilizzando cicli for o foreach:

// Iterazione su un array monodimensionale
for (int i = 0; i < numeri.Length; i++)
{
      Console.WriteLine(numeri[i]);
}

// Iterazione su un array bidimensionale
for (int i = 0; i < matrice.GetLength(0); i++)
{
   for(int j = 0; j < matrice.GetLength(1); j++)
   {
     Console.WriteLine(matrice[i, j]);
   }
}

Metodi Utili per gli Array

C# fornisce vari metodi utili per lavorare con gli array, come ad esempio:

Array.Sort(array): Ordina gli elementi dell’array.

Array.Reverse(array): Inverte l’ordine degli elementi nell’array.

Array.IndexOf(array, valore): Restituisce l’indice del primo elemento corrispondente al valore specificato.

Esempio Completo

using System;

class Program
{
    static void Main()
    {
       // Dichiarazione e inizializzazione
       int[] numeri = { 1, 3, 5, 7, 9 };

       // Accesso agli elementi
       Console.WriteLine(“Primo elemento: ” + numeri[0]);

       // Modifica di un elemento
       numeri[1] = 4;

       // Iterazione con ciclo for
       Console.WriteLine(“Elementi dell’array:“);
       for (int i = 0; i < numeri.Length; i++)
       {
           Console.WriteLine(numeri[i]);
       }

       // Utilizzo di Array.Sort
       Array.Sort(numeri);
       Console.WriteLine(“Array ordinato:“);
       foreach (int num in numeri)
       {
           Console.WriteLine(num);
       }
    }
}

Questa guida fornisce una panoramica di base sugli array in C#, comprese la dichiarazione, l’inizializzazione, l’accesso agli elementi e alcune operazioni comuni.

LINK AI PRECEDENTI POST

LINK AL CODICE SU GITHUB