Как конфертировать из Generic List <double []> в double []? - PullRequest
0 голосов
/ 05 июля 2018

У меня есть общий список, содержащий несколько двойных массивов.

List<double[]> d_list;

Предположим, он содержит много элементов (т.е. двойные массивы). Теперь я хочу:

  1. получить каждый элемент
  2. преобразовать этот элемент из универсального в удвоенный []

Как это сделать?

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

он не выбирает мне первый элемент, который я хочу.

Попробуйте это:

    foreach (double[] element in d_list)
    {
         // ... do something with element ...
    }

или, возможно, вы хотели это:

    double[] element = d_list.FirstOrDefault();

Не помешает немного изучить C #, Изучить основы .

0 голосов
/ 05 июля 2018

Кажется, что вы хотите сгладить данные; Вы можете сделать это с помощью Linq : SelectMany для выравнивания и ToArray, например

 List<double[]> d_list = new List<double[]>() {
   new double[] {1, 2, 3},
   new double[] {}, // <- Empty array to be excluded from the final result
   new double[] {4},
   new double[] {5, 6}
 };

 // 1, 2, 3, 4, 5, 6
 double[] result = d_list
   .SelectMany(array => array) // Flatten
   .ToArray();                 // Materialized as an array

Редактировать: Если вы хотите 1-й элемент из каждого массива:

 // 1, 4, 5
 double[] result = d_list
   .Where(array => array.Any()) // non-empty arrays only
   .Select(array => array[0])   // 1st item from each array
   .ToArray();                  // Materialized as an array
...