SelectMany en C#
Aplanar una secuencia de secuencias en un solo stream.
var teams = new Dictionary<string, string[]>
{
["compilers"] = new[] { "Ada", "Grace" },
["theory"] = new[] { "Alan", "Kurt" },
};
// SelectMany aplana un nivel: todos los miembros, una secuencia
var everyone = teams.SelectMany(t => t.Value);
Console.WriteLine(string.Join(",", everyone));
// conserva el nombre del equipo junto a cada miembro
var pairs = teams.SelectMany(t => t.Value.Select(m => $"{m}@{t.Key}"));
Console.WriteLine(string.Join(" ", pairs));
Cómo funciona
SelectMany(t => t.Value)produce cada miembro de cada equipo.- El
Selectanidado mantiene el nombre del equipo pegado a cada miembro. - Un nivel de anidación desaparece por llamada.
Palabras clave y builtins usados aquí
newstringvar
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 461
- Tokens
- 102
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 72 segundos.
Paso 2 de 3 en Dar forma; paso 2 de 17 en LINQ a fondo.