Zip en C#
Recorrer secuencias paralelas al mismo paso.
var names = new[] { "latency", "errors", "uptime" };
var values = new[] { 42.1, 0.2, 99.95 };
var units = new[] { "ms", "%", "%" };
// Zip recorre las secuencias al paso, parando en la más corta
foreach (var (name, value) in names.Zip(values))
{
Console.WriteLine($"{name}: {value}");
}
// la sobrecarga de tres entradas produce ternas
foreach (var (name, value, unit) in names.Zip(values, units))
{
Console.WriteLine($"{name,-8} {value}{unit}");
}
Cómo funciona
names.Zip(values)empareja elementos hasta que el lado más corto se acaba.- Los pares se deconstruyen directo en las variables del bucle.
- Una tercera secuencia forma tríos con la misma forma.
Palabras clave y builtins usados aquí
foreachinnewvaluevar
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 450
- Tokens
- 98
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 65 segundos.
Paso 3 de 3 en Dar forma; paso 3 de 17 en LINQ a fondo.