ToDictionary en C#
Materializar una consulta en la colección que de verdad vas a usar.
var planets = new[] { (Name: "Mercury", Au: 0.39), (Name: "Mars", Au: 1.52) };
var byName = planets.ToDictionary(p => p.Name, p => p.Au);
Console.WriteLine(byName["Mars"]);
// materializar corre la consulta una vez; reusar el resultado es gratis
var index = Enumerable.Range(0, 5).ToDictionary(i => i, i => i * i);
Console.WriteLine(index[4]);
Console.WriteLine(byName.ContainsKey("Pluto"));
Cómo funciona
- Los selectores de clave y valor dan forma al diccionario en una llamada.
- Después, cada búsqueda es tiempo constante, sin volver a enumerar.
ContainsKeyresponde con seguridad por el planeta que falta.
Palabras clave y builtins usados aquí
newvar
El intento, en números
- Líneas
- 9
- Caracteres a escribir
- 393
- Tokens
- 106
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 71 segundos.
Paso 1 de 3 en Materialización y conjuntos; paso 13 de 17 en LINQ a fondo.