Fold
Cria um novo valor do tipo TState
aplicando a função folder
ao valor opcional e à um valor state
informado por parâmetro. Caso o valor opcional esteja no estado IsNone
, o valor state
é retornado.
Parâmetros | Retorno |
---|---|
Func<TState, T, TState> folder TState state Option<T> option |
TState |
Como usar
Esta função realiza uma transformação de um Option<T>
para um TState
ao aplicar a função folder
. Caso o valor opcional esteja no estado IsNone
a função folder
não é executada e o parâmetro state
é retornado.
Quando o valor opcional está no estado IsSome
string state = "The number is: "
Option<int> optionValue = 10;
string result = optionValue.Fold(
state,
(_state, value) => string.Concat(_state, value) );
//result = "The number is: 10"
Quando o valor opcional está no estado IsNone
string state = "The number is: "
Option<int> optionValue = Option<int>.None();
string result = optionValue.Fold(
state,
(_state, value) => string.Concat(_state, value) );
//result = "The number is: "
Quando o valor opcional está no estado IsSome e o state também é um valor inteiro
int state = 30
Option<int> optionValue = 10;
int result = optionValue.Fold(
state,
(_state, value) => _state + value );
//result = 40
Quando o valor opcional está no estado IsNone e o state também é um valor inteiro
int state = 30
Option<int> optionValue = Option<int>.None();
int result = optionValue.Fold(
state,
(_state, value) => _state + value );
//result = 30