двойной [][] из DataTable

Я использую пакет Math.Net Numerics для работы со статистикой с регрессией и т. д. Поскольку набор различных столбцов из конкретной таблицы может использоваться как независимые переменные, я решил написать метод, который будет создавать матрицу из DataTable непосредственно из запроса, создав массив double[][] и передав его методу DenseOfRowArrays() в MathNet.Numerics. Вызывающий код гарантирует, что в DataTable будут присутствовать только столбцы с числовыми значениями.

Я зашел так далеко, следуя ответам здесь: C# Cast Entire Array?

public static Matrix<double> DenseOfDataTable(DataTable dt)
        {
            double[][] arrayFromDataTable = dt.AsEnumerable().Select(row => Array.ConvertAll(row.ItemArray, item => (double)item)).ToArray();

            return CreateMatrix.DenseOfRowArrays(arrayFromDataTable);
        }

Моя проблема заключается в том, что при его запуске я получаю InvalidCastException на (double)item с item, показывающим значение 0,000 при проверке.


person Valuator    schedule 20.04.2017    source источник
comment
Попробуйте изменить его на Convert.ToDouble()   -  person I.B    schedule 20.04.2017
comment
Это все, что нужно, глупая ошибка с моей стороны, когда я начал писать это как общий.   -  person Valuator    schedule 20.04.2017
comment
Возможный дубликат Как преобразовать различные неизвестные числовые типы в двойной   -  person I.B    schedule 20.04.2017
comment
@CNuts У меня вопрос не по теме. Вы ответили на этот вопрос комментарием. Почему вы не создаете ответ и не отмечаете его как принятый? Почему меня это спрашивают? На этот вопрос нет официального ответа, и другие пользователи SO считают, что решения этой проблемы нет. Я новичок, поэтому я пытаюсь понять это.   -  person Sean Stayns    schedule 20.04.2017
comment
@SeanStayn Все в порядке. Моя точка зрения заключается в том, что я уже ответил почти на тот же вопрос в дубликате, который я пометил, поэтому я бы предпочел закрыть этот вопрос как дубликат, чем повторяться. И я почти уверен, что есть еще больше похожих ответов.   -  person I.B    schedule 20.04.2017