typestar

ToLookup en C#

Un índice uno-a-muchos congelado sobre una secuencia.

var files = new[] { "a.cs", "b.py", "c.cs", "d.md", "e.py" };

// un lookup es un diccionario uno-a-muchos congelado
var byExt = files.ToLookup(f => Path.GetExtension(f));

Console.WriteLine(string.Join(",", byExt[".cs"]));
Console.WriteLine(string.Join(",", byExt[".py"]));

// una clave ausente produce un grupo vacío, nunca una excepción
Console.WriteLine(byExt[".txt"].Count());

Cómo funciona

  1. ToLookup(f => extension) agrupa archivos por su sufijo, una sola vez.
  2. Indexar por clave devuelve el grupo, listo para iterar.
  3. Una clave ausente produce un grupo vacío, nunca una excepción.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
10
Caracteres a escribir
382
Tokens
85
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 57 segundos.

Escribe este fragmento

Paso 3 de 3 en Joins y lookups; paso 9 de 17 en LINQ a fondo.

← Anterior Siguiente →