Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Cosa Sono i Dizionari? | Strutture Dati e Gestione dei File
C# Oltre le Basi

bookCosa Sono i Dizionari?

Negli Array, i dati vengono accessi tramite indicizzazione (arrayName[index]). In un Array, ogni valore (elemento) possiede un indice univoco, utilizzato per accedere a quel valore; per questo motivo si può affermare che un Array ha una struttura indice-valore.

Esiste una struttura simile chiamata Dizionario, nella quale invece si hanno coppie chiave-valore. Mentre un indice è sempre un numero intero, una chiave può essere di qualsiasi tipo di dato di base, anche se comunemente è una string.

L'illustrazione seguente mostra un esempio di dizionario che memorizza il numero di diversi tipi di frutta:

Creazione di un Dizionario

È possibile dichiarare un dizionario utilizzando la seguente sintassi:

IDictionary<keyDataType, valueDataType> dictionaryName = new Dictionary<keyDataType, valueDataType>();

Qui keyDataType rappresenta il tipo di dato della chiave mentre valueDataType rappresenta il tipo di dato dei valori. dictionaryName è il nome del dizionario.

Anche una dichiarazione implicita è valida:

var dictionaryName = new Dictionary<keyDataType, valueDataType>();

Aggiunta di dati

È possibile utilizzare il metodo Add per aggiungere elementi al dizionario:

dictionaryName.Add(keyName, value);

Accesso ai dati

È possibile accedere ai dati nei dizionari utilizzando le chiavi:

dictionaryName[keyName]

Di seguito è riportato un esempio che dimostra tutti e tre i casi:

index.cs

index.cs

copy
12345678910111213141516171819202122
using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { var student = new Dictionary<string, string>(); student.Add("name", "Noah"); student.Add("country", "Netherlands"); student.Add("subject", "Computer Science"); Console.WriteLine(student["name"]); Console.WriteLine(student["country"]); Console.WriteLine(student["subject"]); } } }
Note
Nota

Ogni chiave in un dizionario deve essere univoca. Se si tenta di aggiungere una chiave già esistente, il compilatore mostrerà un errore.

Nei dizionari, l'attributo Count mostra il numero di coppie chiave-valore memorizzate al suo interno. Il metodo Remove accetta una chiave e rimuove quella coppia chiave-valore dal dizionario. Il metodo Clear rimuove semplicemente tutte le coppie chiave-valore da un dizionario. È un buon esercizio di lettura del codice leggere e comprendere l'utilizzo di Count, Remove e Clear dal seguente codice:

index.cs

index.cs

copy
1234567891011121314151617181920212223242526
using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { var numbers = new Dictionary<int, string>(); numbers.Add(0, "Zero"); numbers.Add(1, "One"); numbers.Add(2, "Two"); numbers.Add(3, "Three"); numbers.Add(4, "Four"); numbers.Add(5, "Five"); Console.WriteLine(numbers.Count); // Output: 6 numbers.Remove(3); Console.WriteLine(numbers.Count); // Output: 5 numbers.Clear(); Console.WriteLine(numbers.Count); // Output: 0 } } }

1. Quale modulo deve essere importato per utilizzare i dizionari?

2. Qual è la sintassi corretta per creare un dizionario?

3. Quale sarà l'output del seguente codice?

question mark

Quale modulo deve essere importato per utilizzare i dizionari?

Select the correct answer

question mark

Qual è la sintassi corretta per creare un dizionario?

Select the correct answer

question mark

Quale sarà l'output del seguente codice?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain the difference between arrays and dictionaries in more detail?

Can you show an example of creating and using a dictionary?

What are some common use cases for dictionaries?

Awesome!

Completion rate improved to 2.04

bookCosa Sono i Dizionari?

Scorri per mostrare il menu

Negli Array, i dati vengono accessi tramite indicizzazione (arrayName[index]). In un Array, ogni valore (elemento) possiede un indice univoco, utilizzato per accedere a quel valore; per questo motivo si può affermare che un Array ha una struttura indice-valore.

Esiste una struttura simile chiamata Dizionario, nella quale invece si hanno coppie chiave-valore. Mentre un indice è sempre un numero intero, una chiave può essere di qualsiasi tipo di dato di base, anche se comunemente è una string.

L'illustrazione seguente mostra un esempio di dizionario che memorizza il numero di diversi tipi di frutta:

Creazione di un Dizionario

È possibile dichiarare un dizionario utilizzando la seguente sintassi:

IDictionary<keyDataType, valueDataType> dictionaryName = new Dictionary<keyDataType, valueDataType>();

Qui keyDataType rappresenta il tipo di dato della chiave mentre valueDataType rappresenta il tipo di dato dei valori. dictionaryName è il nome del dizionario.

Anche una dichiarazione implicita è valida:

var dictionaryName = new Dictionary<keyDataType, valueDataType>();

Aggiunta di dati

È possibile utilizzare il metodo Add per aggiungere elementi al dizionario:

dictionaryName.Add(keyName, value);

Accesso ai dati

È possibile accedere ai dati nei dizionari utilizzando le chiavi:

dictionaryName[keyName]

Di seguito è riportato un esempio che dimostra tutti e tre i casi:

index.cs

index.cs

copy
12345678910111213141516171819202122
using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { var student = new Dictionary<string, string>(); student.Add("name", "Noah"); student.Add("country", "Netherlands"); student.Add("subject", "Computer Science"); Console.WriteLine(student["name"]); Console.WriteLine(student["country"]); Console.WriteLine(student["subject"]); } } }
Note
Nota

Ogni chiave in un dizionario deve essere univoca. Se si tenta di aggiungere una chiave già esistente, il compilatore mostrerà un errore.

Nei dizionari, l'attributo Count mostra il numero di coppie chiave-valore memorizzate al suo interno. Il metodo Remove accetta una chiave e rimuove quella coppia chiave-valore dal dizionario. Il metodo Clear rimuove semplicemente tutte le coppie chiave-valore da un dizionario. È un buon esercizio di lettura del codice leggere e comprendere l'utilizzo di Count, Remove e Clear dal seguente codice:

index.cs

index.cs

copy
1234567891011121314151617181920212223242526
using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { var numbers = new Dictionary<int, string>(); numbers.Add(0, "Zero"); numbers.Add(1, "One"); numbers.Add(2, "Two"); numbers.Add(3, "Three"); numbers.Add(4, "Four"); numbers.Add(5, "Five"); Console.WriteLine(numbers.Count); // Output: 6 numbers.Remove(3); Console.WriteLine(numbers.Count); // Output: 5 numbers.Clear(); Console.WriteLine(numbers.Count); // Output: 0 } } }

1. Quale modulo deve essere importato per utilizzare i dizionari?

2. Qual è la sintassi corretta per creare un dizionario?

3. Quale sarà l'output del seguente codice?

question mark

Quale modulo deve essere importato per utilizzare i dizionari?

Select the correct answer

question mark

Qual è la sintassi corretta per creare un dizionario?

Select the correct answer

question mark

Quale sarà l'output del seguente codice?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 4
some-alt