typestar

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

  1. TakeWhile se detiene en el primer fallo; Where seguiría filtrando.
  2. SkipWhile descarta el prefijo y conserva todo lo que sigue.
  3. Skip(2).Take(3) pagina por cantidad en vez de por condición.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 1 de 3 en Cortes; paso 4 de 17 en LINQ a fondo.

← Anterior Siguiente →