Splitting an array using LINQ
.net, arrays, c#, linq, linq-to-objects
Solution
You can group by the index divided by the batch size, like this:
var batchSize = 3;
var batched = orig
.Select((Value, Index) => new {Value, Index})
.GroupBy(p => p.Index/batchSize)
.Select(g => g.Select(p => p.Value).ToList());
Problem
I have a collection uni-dimensional like this: ``` [1,2,4,5.....n] ``` I would like to convert that collection in a bi-dimensional collection like this: ``` [[1,2,3], [4,5,6], ...] ``` Basically I want to group or split if you want, the array in groups of 'n' members I can do it with a `foreach` statement, but I am currently learning LINQ so instead of iterating through all elements and create a new array manually I would like to use the LINQ features (if applicable) Is there any LINQ function to help me to accomplish this?? I was thinking in the `GroupBy` or `SelectMany` I do not know if they will help me though but they might Any help will be truly appreciate it =) :**