ChunkBySize
Divide uma coleção em vários pedaços de acordo com os parâmetros.
Parâmetros | Retorno |
---|---|
int chunkSize IEnumerable<T> source |
IEnumerable<IEnumerable<T>> |
Exceções
Tipo | Situação |
---|---|
ArgumentException | Quando o parâmetro chunkSize não for um valor positivo. |
Como usar
É gerada uma nova coleção onde cada elemento também é um pedaço da coleção com o tamanho definido por chunkSize
. Nos casos onde a coleção não for divisível pelo chunkSize
será gerado um último pedaço com os elementos restantes.
Dividindo uma coleção em pedaços iguais
//IEnumerable<int> source = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
IEnumerable<IEnumerable<int>> result = source.ChunkBySize(2);
//result = { {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10} }
Dividindo uma coleção em pedaços de tamanho não divisível pela quantidade de elementos
//IEnumerable<int> source = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
IEnumerable<IEnumerable<int>> result = source.ChunkBySize(3);
//result = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10} }