Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert from List<double[]> to double[,]

Tags:

arrays

c#

Is there an one-liner (no looping) that converts List<double[]> to double[,]?

like image 790
Graviton Avatar asked Aug 23 '10 08:08

Graviton


1 Answers

Converting to double[,] can only be done by looping through the list and requires that all arrays contained in the list are of same size:

double[,] arr = new double[list.Count, list[0].Length];
for (int i = 0; i < list.Count; i++)
{
    for (int j = 0; j < list[0].Length; j++)
    {
        arr[i, j] = list[i][j];
    }
}

Of course, you can easily create a jagged double[][] array of arrays by calling .ToArray():

double[] array = new double[] { 1.0, 2.0, 3.0 };
double[] array1 = new double[] { 4.0, 5.0, 6.0 };

List<double[]> list = new List<double[]>();
list.Add(array);
list.Add(array1);

double[][] jaggedArray = list.ToArray();
like image 76
Dirk Vollmar Avatar answered Sep 29 '22 20:09

Dirk Vollmar