Resumo : neste tutorial, você aprenderá como usar o Chunk()
método LINQ para dividir uma sequência em um conjunto de sequências menores, chamadas de pedaços.
Introdução ao método LINQ Chunk()
O Chunk()
método permite dividir uma sequência em um conjunto de sequências menores chamadas pedaços.
Aqui está a sintaxe do Chunk()
método:
IEnumerable<TSource[]> Chunk<TSource> (
IEnumerable<TSource> source,
int size
);
Linguagem de código: C# ( cs )
O Chunk()
método leva dois parâmetros:
source
é a sequência a ser fragmentada.size
é o tamanho máximo de cada pedaço.
O Chunk()
método retorna um IEnumerable<TSource[]>
que contém os elementos da sequência de entrada divididos em pedaços de tamanho.
O Chunk()
método é um método de avaliação lenta, o que significa que ele não cria os pedaços até que você acesse cada pedaço. Pode ser útil se você tiver uma sequência grande, pois evita que toda a sequência seja carregada na memória de uma só vez.
O Chunk()
método é útil nos seguintes cenários:
- Para processar uma sequência em lotes.
- Para paralelizar o processamento de uma coleção.
- Para armazenar uma coleção em um banco de dados em partes.
Exemplo do método LINQ Chunk()
O exemplo a seguir usa o Chunk()
método para dividir uma coleção de 25 números em 3 partes, cada parte tem no máximo 10 números:
using static System.Console;
var numbers = new List<int>(Enumerable.Range(1, 25));
var chunks = numbers.Chunk(10);
foreach (var chunk in chunks)
{
foreach (var item in chunk)
{
Write($"{item}, ");
}
WriteLine();
}
Linguagem de código: C# ( cs )
Saída:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25,
Linguagem de código: texto simples ( texto simples )
Neste exemplo, os pedaços contêm um IEnumerable
<int[]>, onde cada matriz int[] contém 10 números.
Resumo
- Use
Chunk()
o método LINQ para dividir uma sequência em um conjunto de pedaços menores.