如何在C#中将对象数组转换为双精度数组

shr*_*aga 5 c# type-conversion

您好,最近我尝试使用matlab函数获取结果,并且matlab函数可以返回像图像一样的双精度数组,但是后来我在C#中按对象类获得了double值,但是我无法将其转换为该对象类的double值,有人可以帮帮我

我已经解决了这个问题

        MLApp.MLApp matlab = new MLApp.MLApp();
        matlab.Execute(@"Path");
        object result = null;
        matlab.Feval("RemoveShadow", 1, out result, 12, 13);
        var res = (result as object[]).Select(x => (double[,])x).ToArray();
        object im = res.GetValue(0);
        double[,] d = (double[,])im;
Run Code Online (Sandbox Code Playgroud)

我已经解决了这个问题

Pra*_*ana 5

如果对象数组中的所有对象都比对象数组中的对象大

double[] resultArray = Array.ConvertAll<object, double>
                                  (inputArray, x => (double)x);
Run Code Online (Sandbox Code Playgroud)


Far*_*yev 2

您可以尝试将其转换object[]double[]

var res = (result as object[]).Select(x => (double)x).ToArray();
Run Code Online (Sandbox Code Playgroud)