.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Linq;
					
public class Program
{
	public static void Main()
	{
		var origArray = new[] {1,2,3,4,5,6};
		
		var segmentedArray1 = origArray
			.Select((item, index) => new { item, index })
			.GroupBy(x => x.index/3)
			.Select(@group => @group.Select(x=>x.item));
		
		var segmentedArray2 = Enumerable.Range(0, origArray.Count())
			.GroupBy(x => x/3)
			.Select(@group => @group.Select(index => origArray[index]));
		
		Console.WriteLine("Segmented Array 1");
		foreach(var array in segmentedArray1)
			Console.WriteLine("[{0}]", string.Join(", ", array));
	
		Console.WriteLine();
		Console.WriteLine("Segmented Array 2");
		foreach(var array in segmentedArray2)
			Console.WriteLine("[{0}]", string.Join(", ", array));
		
	}
}
;