C# 3 ha un'estensione di lingua denominata inizializzatori di raccolta che consentono di inizializzare i valori di una raccolta in un'unica istruzione.
Ecco un esempio utilizzando un Dictionary<,>
:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var dict = new Dictionary<string, int>
{
{"a", 23}, {"b", 45}, {"c", 67}, {"d", 89}
};
}
}
Questa estensione lingua è supportata dal compilatore C# 3 e qualsiasi tipo che implementa IEnumerable
e ha un metodo pubblico Add
.
Se siete interessati vi suggerisco di leggere this question I asked here on StackOverflow da perché il team di C# implementato questa estensione lingua in un modo così curioso (una volta letto le eccellenti risposte alla domanda vedrete che fa un sacco di senso).
fonte
2009-05-08 18:21:33
Esiste una sintassi simile per la definizione di dizionari con profondità multiple? Ad esempio, 'Dictionary>'? –
Ho trovato la tecnica e la aggiungerò come una modifica alla tua risposta, anche se è un po 'prolisso, non sono sicuro se sta risparmiando a chiunque molto tempo. –