FoldBack
Aplica a função folder
em cada elemento da coleção, acumulando o resultado enquanto a percorre, neste caso, a coleção é percorrida do último índice para o primeiro.
Este método considera o valor em state
como valor inicial e o resultado acumulado ao longo da coleção é retornado como resultado do método.
Este método é semelhante ao ReduceBack
, mas neste caso é considerado um state
inicial.
Parâmetros | Retorno |
---|---|
Func<T, TState, TState> folder IEnumerable<T> source TState state |
TState |
Como usar
Acumulando uma quantidade em cada elemento através de uma coleção
//IEnumerable<Animal> source =
// { ("Cats",4), ("Dogs",5), ("Mice",3), ("Elephants",2) }
int result = source.FoldBack( (_state, element) => _state + element.Item2, 6);
//result = 20
Para operações comuns entre valores int
, decimal
, double
, string
e bool
você pode utilizar as operações como folder
.
Utilizando uma operação como folder
//IEnumerable<int> source = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
int result = source.FoldBack(IntegerOperations.Add, 15);
//result = 15 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1
//result = 70