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} }

Last updated