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
FirstOrDefaultdevuelve un valor por defecto — o el respaldo que le pases.DefaultIfEmpty(0)evita queAveragelance con entrada vacía.RangeyRepeatconjuran secuencias de prueba desde la nada.
Palabras clave y builtins usados aquí
intstringvar
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.
Paso 3 de 3 en Materialización y conjuntos; paso 15 de 17 en LINQ a fondo.