C# Classe Dictionary

19 dicembre 2009 - Fonte: http://codesnippet.altervista.org Lascia il tuo commento »
E' la tua prima volta qui? Allora iscriviti GRATIS ai nostri feeds! 
NOTA BENE: Il Bloggatore ha rilevato dei problemi di collegamento con il blog indicato come fonte originale dell'articolo. Pertanto, al fine di consentire agli utenti di leggere questo articolo, se possibile, viene reso temporaneamente disponibile il post completo.

C# Classe Dictionary e' un post di: CodeSnippet

Per chi conosce già linguaggi come il PHP, sa che esistono degli oggetti detti array associativi. In un array associativo gli indici non venogno impostati di defaul dal linguaggio (che normalmente corrispondono alla posizione del valore all’interno dell’array) ma bensì viene impostato manualmente dal programmatore.

Una cosa simile è possibile usarla anche in non puramente interpretati, come il href="http://codesnippet.altervista.org/C#. La classe Dictionary infatti è sviluppata proprio per questo scopo. Ogni valore aggiunto al dizionario, è costituito da una chiave e un valore. La chiave ha il compito di individuare univocamente il valore a cui corrisponde. Questo significa che non possono esistere due elementi nel dizionario che hanno la stessa chiave. Infatti, nel caso in cui si tentasse di fare una cosa simile, viene sollevata un’eccezione in fase di esecuzione del codice.

Dictionary<string, string> dc = new Dictionary<string, string>();
dc.Add("Chiave", "Valore");
                       
Console.WriteLine(dc["Chiave"]);

Questo è un esempio di come si crea un’oggetto di questo tipo. Essendo una classe generica è stata costruita per accettare qualsiasi tipo di dato, difatti, come vedete, durante la creazione dell’oggetto si definisce anche il tipo che corrisponde alla chiave e quello che invece corrisponde al valore.

Dictionary<string, int> dc = new Dictionary<string, int>();
dc.Add("Uno", 1);
dc.Add("Due", 2);
dc.Add("Tre", 3);

foreach (var item in dc)
{
    Console.WriteLine(item.Key + " => " + item.Value);
}
//il singolo elemento può essere richiamato
//con la chiave, ad esempio dc["Uno"] restituirà 1.

Ovviamente, come dicevo prima, se si tenta di aggiungere un elmento che ha una chiave già definita in precedenza si riceve un’eccezione. La stessa cosa vale quando si cerca di farsi restituire un elemento che ha una chiave che non appartiene a quel dizionario. Ad esempio, in questo caso, se si facesse dc["Quattro"] otterremmo un’eccezione.

Questo lo snippet completo

    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, int> dc = new Dictionary<string, int>();
            dc.Add("Uno", 1);
            dc.Add("Due", 2);
            dc.Add("Tre", 3);

            foreach (var item in dc)
            {
                Console.WriteLine(item.Key + " => " + item.Value);
            }
            try
            {
                int v = dc["quattro"];
            }
            catch
            {
                Console.WriteLine("Chiave non presente nel dizionario");
            }

            try
            {
                dc.Add("Uno", 4);
            }
            catch
            {
                Console.WriteLine("Chiave già presente nel dizionario");
            }
            Console.ReadKey();
        }
    }

Lo stesso codice è facilmente convertibile in Vb.NET

Share/Bookmark Post correlati:
  1. .NET 4: Classe per la gestione dei numeri complessi
  2. href="http://codesnippet.altervista.org/Scaricare sorgente di una pagina in C#
  3. href="http://codesnippet.altervista.org/SecureString: Trattare i dati sensibili con il .NET
href="http://codesnippet.altervista.org/






SEGNALA / INVIA QUESTO POST:  Share
Hai trovato questo articolo interessante? Iscriviti GRATIS ai nostri feeds! 

Lascia un Commento