typestar

Valores por defecto y generadores en C#

Secuencias vacías sin las excepciones.

var empty = Array.Empty<int>();

// FirstOrDefault devuelve un valor por defecto en vez de lanzar
Console.WriteLine(empty.FirstOrDefault());
Console.WriteLine(empty.FirstOrDefault(-1));

// DefaultIfEmpty protege los agregados ante la entrada vacía
Console.WriteLine(empty.DefaultIfEmpty(0).Average());

// Range y Repeat crean secuencias a partir de la nada
Console.WriteLine(string.Join(",", Enumerable.Range(5, 4)));
Console.WriteLine(string.Join(",", Enumerable.Repeat("ok", 3)));

Cómo funciona

  1. FirstOrDefault devuelve un valor por defecto — o el respaldo que le pases.
  2. DefaultIfEmpty(0) evita que Average lance con entrada vacía.
  3. Range y Repeat conjuran secuencias de prueba desde la nada.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
484
Tokens
97
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 61 segundos.

Escribe este fragmento

Paso 3 de 3 en Materialización y conjuntos; paso 15 de 17 en LINQ a fondo.

← Anterior Siguiente →