C# Convert List IEnumerable<T> to 2D multi-dimensional array
//extension method public static object [,] To2DArray<T>( this IEnumerable<T> lines, params Func<T, object >[] lambdas) { var array = new object [lines.Count(), lambdas.Count()]; var lineCounter = 0; lines.ForEach(line => { for (var i = 0; i < lambdas.Length; i++) { array[lineCounter, i] = lambdas[i](line); } lineCounter++; }); return array; } [Test] public void Test() { var lines = new List<Line>(); lines.Add( new Line() { Id=1, Name=" One ", Age=25 }); lines.Add( new Line() { Id = 2, Name = " Two ", Age = 35 }); lines.Add( new Line() { Id = 3, Name = " Three ", Age = 45 }); //Convert to 2d array //[1,One,25] //[2,Two,35] //[3,Three,45] var range = lines.To2DArray(x => x.Id, x => x.Name, x=> x.Age); //test the result for (var i=0;i<lines.Count;i++) { for (var j=0;j<3;j++) //3 lambdas passed to function { Console.Wr