Un dizionario è un'utile struttura di dati che consente di memorizzare coppie chiave-valore. Puoi accedere in modo efficiente a un valore dal dizionario usando la sua chiave.

I dizionari in C# supportano azioni come la rimozione di un valore o l'iterazione sull'intero set di valori.

Che cos'è un dizionario in C#?

Un dizionario C# è uno di le strutture dati più importanti puoi conoscere. È un po' come la struttura dati Java HashMap. Le sue chiavi devono essere univoche, ma possono essere di quasi tutti i tipi. Un semplice dizionario utilizza valori scalari.

Ad esempio, questo set di dati ha un ID di un animale domestico come chiave e il nome dell'animale domestico come valore:

{1001, "Mia"},
{1002, "Oscar"},
{1003, "Uccello"},
{1004, "Blu"},
{1005, "Leo"},
{1006, "Travis"}

Questa struttura consente di accedere ai dati utilizzando la chiave particolare che fa riferimento a un record. Ad esempio, puoi recuperare il record con il valore Uccellino facendo riferimento ad esso con la chiave di ricerca 1003.

instagram viewer

Come creare un dizionario

Per creare un dizionario, devi specificare il tipo di oggetto sia per la chiave che per il valore.

  1. Crea il dizionario. In questo esempio, la chiave è un numero intero e il valore per ogni record è una stringa.
    Dizionario<int, corda> animali domestici = nuovo Dizionario<int, corda>();
  2. Dovrai usare il Sistema. Collezioni. Generico namespace che contiene la classe Dictionary. Assicurati di farlo nella parte superiore del tuo file:
    usando Sistema. Collezioni. Generico;

Come aggiungere elementi al dizionario

È possibile aggiungere elementi al dizionario durante o dopo l'inizializzazione.

  1. È possibile aggiungere elementi durante l'inizializzazione del dizionario. Per fare ciò, aggiungi alcuni valori tra parentesi graffe dopo la nuova istruzione Dictionary iniziale.
    Dizionario<int, corda> animali domestici = nuovo Dizionario<int, corda>()
    {
    {1001, "Mia"},
    {1002, "Oscar"},
    {1003, "Uccello"},
    {1004, "Blu"},
    {1005, "Leo"},
    {1006, "Travis"}
    };
  2. Se hai già creato il dizionario, puoi utilizzare il metodo Add() integrato nel dizionario.
    animali domestici. Aggiungere(1007, "Neve");

Non è possibile aggiungere un valore per una chiave già esistente. Se provi a farlo, otterrai un'ArgumentException.

Non puoi usare un nullo valore come chiave per una voce in un dizionario. Tuttavia, puoi memorizzare un valore nullo in un dizionario.

Come aggiungere oggetti al dizionario

Se stai usando una oprogrammazione orientata agli oggetti style, probabilmente hai almeno una classe che usi per creare oggetti con. Supponiamo che tu abbia avuto una classe che memorizzava dettagli sugli animali domestici:

Puoi aggiungere oggetti creati da questa classe a un dizionario.

  1. Assicurati di creare il dizionario con il tipo di oggetto Pet specificato per il valore.
    Dizionario<int, Pet> petObjects = nuovo Dizionario<int, Animale domestico>();
  2. Crea il tuo oggetto da compagnia.
    Pet mia = nuovo Animale domestico(1001, "Mia", nuovo Appuntamento(2010, 6, 29), 9.0,
    nuovo Appuntamento(2022, 05, 02));
  3. Aggiungi il nuovo oggetto pet al dizionario.
    animali da compagnia. Aggiungere(1001, mia);

Come accedere a un elemento nel dizionario

È possibile accedere a un elemento nel dizionario utilizzando la chiave.

  1. Usa il nome della variabile per il dizionario, seguito dalla chiave attorno a un paio di parentesi quadre. Ciò restituirà l'oggetto memorizzato in quella particolare parte del dizionario.
    var animale domestico = animale domestico[1001];
    Console. WriteLine (nome domestico);

Come scorrere il dizionario

Puoi usare un per ciascuno ciclo per scorrere un dizionario:

  1. Usa un foreach per scorrere ogni KeyValuePair nel dizionario. Supponendo che tu abbia chiamato il tuo iteratore iscrizione, puoi accedere alla chiave e al valore usando iscrizione. Chiave e iscrizione. Valore.
    per ciascuno (CoppiaValoreChiave<int, Pet> voce in animali da compagnia)
    {
    // stampa la chiave
    Console. WriteLine (voce. Chiave);

    // stampa il nome dell'oggetto per quel record
    Console. WriteLine (voce. Valore.nome);
    }

Come aggiornare un elemento in un dizionario

È possibile aggiornare un elemento sovrascrivendone il valore nel dizionario.

  1. Se nel dizionario sono presenti tipi di oggetti semplici, è possibile sovrascrivere direttamente un valore di un record.
    animali domestici[1001] = "Maia";
  2. Se hai aggiunto oggetti al tuo dizionario, puoi sovrascrivere un valore in un oggetto completamente nuovo.
    Coniglio domestico = nuovo Animale domestico(1001, "Coniglietto", nuovo Appuntamento(2021, 8, 1), 3.0, nuovo Appuntamento(2021, 8, 4));
    animali da compagnia[1001] = coniglietto;
  3. Se hai un oggetto nel dizionario, puoi anche aggiornare una singola proprietà. È possibile sovrascrivere direttamente il valore della proprietà o utilizzare un setter.
    animali da compagnia[1001].name = "Maya";
    // O
    animali da compagnia[1001].setName("Maya");

Come eliminare un elemento in un dizionario

Puoi scegliere di eliminare un singolo elemento o tutti gli elementi.

  1. Per eliminare un singolo elemento, utilizzare il metodo Built-in Remove() del dizionario. Immettere la chiave del record che si desidera eliminare come argomento.
    animali da compagnia. Rimuovere(1002);
  2. Per eliminare tutti gli elementi nel dizionario, utilizzare il metodo Clear() integrato del dizionario
    animali da compagnia. Chiaro();

Strutture dati in C#

Questo tutorial ha illustrato come creare un dizionario in C# e come aggiungere elementi al dizionario. Inoltre, ha anche spiegato come aggiornare, eliminare e scorrere il dizionario.

Se desideri migliorare il tuo vocabolario delle strutture dati, puoi iniziare a esplorare strutture dati più avanzate. Alcuni esempi di questi includono Fibonacci Heap, AVL Tree o Red Black Tree.

3 Strutture di dati avanzate che ogni programmatore dovrebbe conoscere

Leggi Avanti

CondividereTwittaCondividereE-mail

Argomenti correlati

  • Programmazione
  • Dizionario
  • Programmazione

Circa l'autore

Sharlene von Drehnen (14 articoli pubblicati)

Sharlene è una Tech Writer presso MUO e lavora anche a tempo pieno nello sviluppo di software. Ha una laurea in informatica e ha precedenti esperienze in Quality Assurance e tutoraggio universitario. Sharlene ama giocare e suonare il piano.

Altro da Sharlene Von Drehnen

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti