38 |
|
"The chunkSize parameter must be a positive value."); |
39 |
|
|
40 |
|
// Call the internal implementation. |
41 |
< |
return source.ChunkInternal(chunkSize); |
41 |
> |
return source.ChunkInternal(chunkSize).ToList(); |
42 |
|
} |
43 |
|
private static IEnumerable<IEnumerable<T>> ChunkInternal<T>(this IEnumerable<T> source, int chunkSize) |
44 |
|
{ |
55 |
|
if (!enumerator.MoveNext()) yield break; |
56 |
|
|
57 |
|
// Return the chunked sequence. |
58 |
< |
yield return ChunkSequence(enumerator, chunkSize); |
58 |
> |
yield return ChunkSequence(enumerator, chunkSize).ToList(); |
59 |
|
} while (true); |
60 |
|
} |
61 |
|
private static IEnumerable<T> ChunkSequence<T>(IEnumerator<T> enumerator, int chunkSize) |