Cosa 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
12345678910111213141516171819202122using 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"]); } } }
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
1234567891011121314151617181920212223242526using 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?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
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
Cosa 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
12345678910111213141516171819202122using 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"]); } } }
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
1234567891011121314151617181920212223242526using 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?
Grazie per i tuoi commenti!