Collect
Transforma cada elemento da coleção em um novo IEnumerable<TResult>
, depois disso, todos os resultados são unidos em uma única coleção.
Parâmetros | Retorno |
---|---|
Func<T, IEnumerable<TResult>> mapping IEnumerable<T> source |
IEnumerable<TResult> |
Como usar
É gerada uma nova coleção aplicando a função mapping
em cada um dos elementos. Depois disso, todas as coleções resultantes são unidas.
Esta função atua de forma semelhante à um SelectMany
.
Gerando uma nova coleção
//IEnumerable<int> source = { 1, 2, 3 }
IEnumerable<int> GenerateNumbers(int value)
{
for(int index = 1; index <= 3; index++)
yield return value * 10;
}
IEnumerable<int> result = source.Collect(GenerateNumbers);
//result = = { 10, 20, 30, 20, 40, 60, 30, 60, 90 }