Categories: C# (sharp)

Strutture Dati nel Linguaggio C#

Le strutture dati in un linguaggio ad oggetti, come il C#, sono molto importanti per tenere in memoria i dati che devono essere utilizzati nel programma. La piattaforma .NET implementa una serie di contenitori dati come gli hashtable, gli array a dimensione variabile, le code, gli stack ed i dizionari. In .NET tutte le collezioni si basano su una serie di interfacce, che indicano come trattare una struttura dati.

  • IEnumerable – Enumera i valori all’interno di una collezione utilizzando l’istruzione foreach.
  • ICollection – Implementata da tutte le collezioni per fornire il metodo CopyTo() e le proprietà Count, IsSynchronized e SyncRoot.
  • IComparer – Confronta due elementi della collezione in modo da poter effettuare un’ordinamento.
  • IList – Utilizzato da collezioni con indici.
  • IDictionary – Utilizzato sulle collezioni con indici chiave/valore.
  • IDictionaryEnumerator – Consente di enumerare i valori di un dizionario attraverso foreach.

Le collezioni possono contenere valori di diverso tipo, ma si tende normalmente ad utilizzarli con valori dello stesso tipo. Vediamo un esempio di utilizzo di un array.

using System;
using System.Collections;

public class Corso
{
   static void Main(string[] args)
   {
         ArrayList arrVal = new ArrayList();
         for (int i = 1; i <= 7; ++i)
              arrVal.Add(i);
         int iFattoriale = 1;
         foreach (int i in arrVal)
              iFattoriale *= i;
         Console.WriteLine("Il fattoriale di 7 è di {0}",
             iFattoriale);

         Console.ReadKey();
    }
}

In questo esempio semplicissimo abbiamo creato un nuovo oggetto di tipo ArrayList ed abbiamo aggiunto sette numeri, quindi abbiamo calcolato il fattoriale del numero più grande inserito, il 7 nel nostro caso. Attenzione a non inserire numeri massimi grandi perché con il fattoriale si va spesso in overflow.
La prossima volta inizieremo la trattazione delle collezioni, proprio spiegando nel dettaglio la classe ArrayList.

<< Lezione Precedente – Inizio CorsoIndice LezioniLezione Successiva >>

Share
Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.

Published by
Giampaolo Rossi

Recent Posts

Un Abbonamento per Tutti i Software

Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…

10 mesi ago

Software di Magazzino Gratuito

MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→

11 mesi ago

Mettere il PC in Lock Screen

In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…

3 anni ago

Fare il reset togliendo la corrente

In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…

3 anni ago

Prossimi Aggiornamenti Software

Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…

3 anni ago

Come Eliminare i Files in Windows

Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→

3 anni ago