C# 3 tiene una extensión de idioma llamada inicializadores de colecciones que le permiten inicializar los valores de una colección en una sola declaración.
Aquí hay un ejemplo usando 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}
};
}
}
Esta extensión del lenguaje se apoya en el C# 3 compilador y cualquier tipo que implementa IEnumerable
y tiene un método público Add
.
Si está interesado yo sugeriría que lea this question I asked here on StackOverflow como a qué C# equipo implementó esta extensión del lenguaje de tal manera curiosa (una vez que lea las excelentes respuestas a la pregunta que usted verá que tiene mucho sentido).
¿Existe una sintaxis similar para definir los diccionarios que tienen múltiples niveles de profundidad? Por ejemplo, 'Dictionary>'? –
Encontré la técnica y la agregaré como una edición a su respuesta, aunque es un poco prolijo, no estoy seguro si le está ahorrando a alguien mucho tiempo. –