TakeWhile y SkipWhile en C#
Cortar una secuencia en el primer elemento que rompe la regla.
var readings = new[] { 1, 2, 4, 8, 3, 1, 9 };
// TakeWhile se detiene en el primer fallo; Where seguiría de largo
Console.WriteLine(string.Join(",", readings.TakeWhile(r => r < 5)));
Console.WriteLine(string.Join(",", readings.Where(r => r < 5)));
// SkipWhile descarta el prefijo y conserva todo lo que sigue
Console.WriteLine(string.Join(",", readings.SkipWhile(r => r < 5)));
// Take y Skip paginan por cantidad
Console.WriteLine(string.Join(",", readings.Skip(2).Take(3)));
Cómo funciona
TakeWhilese detiene en el primer fallo;Whereseguiría filtrando.SkipWhiledescarta el prefijo y conserva todo lo que sigue.Skip(2).Take(3)pagina por cantidad en vez de por condición.
Palabras clave y builtins usados aquí
newstringvar
El intento, en números
- Líneas
- 11
- Caracteres a escribir
- 480
- Tokens
- 118
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 79 segundos.
Paso 1 de 3 en Cortes; paso 4 de 17 en LINQ a fondo.