如何在c#中将对象数组转换为double数组

时间:2015-03-10 08:38:04

标签: c# type-conversion

最近你好我正在尝试使用matlab函数得到结果,matlab函数可以像图像一样返回双数组但是后来我在C#中通过对象类获得了那个双重但我无法转换为双重该对象类 有人可以帮助我

我已经解决了这个问题

        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;

我已经解决了这个问题

3 个答案:

答案 0 :(得分:4)

如果对象数组中的所有对象都是双倍的,则替代上面的回答

double[] resultArray = Array.ConvertAll<object, double>
                                  (inputArray, x => (double)x);

答案 1 :(得分:1)

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

var res = (result as object[]).Select(x => (double)x).ToArray();

答案 2 :(得分:-1)

正确的处理方法是

var res =(作为对象[]的结果)。选择(x => Convert.ToDouble(x))。ToArray();