Skip to content

Elegir una secuencia vacía como alternativa ​

Un fallo y una secuencia vacía son estados distintos. ValuesOrEmpty() permite ignorar deliberadamente esa diferencia al enumerar.

csharp
using Greencore.Platform.Errors;
using Greencore.Platform.Results;
using Greencore.Platform.Results.Extensions;

var resultado = EnumerableResult<int>.Fail(Error.Create("Consulta rechazada."));
foreach (var numero in resultado.ValuesOrEmpty())
    Console.WriteLine(numero); // No se ejecuta.

Console.WriteLine(resultado.IsError); // True: conserva su estado.

La extensión no cambia el resultado ni ejecuta la fuente al llamarla. En éxito devuelve la secuencia; en fallo devuelve una secuencia vacía.

También existe para AsyncEnumerableResult<T>, consumida con await foreach. En éxito no suprime excepciones que aparezcan después durante la lectura.

Recuerda: utiliza esta alternativa solo cuando omitir el fallo sea una decisión del consumidor.

Uso personal limitado. Uso comercial sujeto a autorización escrita.