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 = 40
When the option value IsNone
int state = 30
Option<int> optionValue = Option<int>.None();
int result = optionValue.Fold(
state,
(_state, value) => _state + value );
//result = 30