Fold
Creates a new TState value by applying the given folder function to state and Option<T>.Some option value. Otherwise returns the state itself.
Parameters
Returns
Func<TState, T, TState> folder
TState state
Option<T> option
TState
Usage
This function applies the folder function to the Option<T> value and to the state.
When the optional value IsNone the folder function won't be executed and the state is returned as a result.
When the option value 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"When the option value 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: "When the option value IsSome
int state = 30
Option<int> optionValue = 10;
int result = optionValue.Fold(
state,
(_state, value) => _state + value );
//result = 40When the option value IsNone
int state = 30
Option<int> optionValue = Option<int>.None();
int result = optionValue.Fold(
state,
(_state, value) => _state + value );
//result = 30Last updated
Was this helpful?