C# 3 a une extension de langage appelée initialiseurs de collection qui vous permettent d'initialiser les valeurs d'une collection dans une instruction.
Voici un exemple en utilisant 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}
};
}
}
Cette extension de la langue est prise en charge par le compilateur C# 3 et tout type qui implémente IEnumerable
et a une méthode Add
public.
Si vous êtes intéressé, je vous suggère de lire this question I asked here on StackOverflow à pourquoi l'équipe C# a mis en œuvre cette extension linguistique de telle manière curieuse (une fois que vous lisez les excellentes réponses à la question que vous verrez que cela fait beaucoup de sens).
Existe-t-il une syntaxe similaire pour définir des dictionnaires à niveaux multiples? Par exemple, 'Dictionary>'? –
J'ai trouvé la technique et je vais l'ajouter comme une modification à votre réponse, même si c'est un peu verbeux, pas sûr si cela fait gagner beaucoup de temps à quelqu'un. –