我正在使用 MATLAB dll。它以 int[,] 类型的矩阵作为输入,输出为 :object{double[,]} 类型
private void pic_edges(int[,] array)
{
Class1 obj = new Class1();
object res = null;
res = obj.edge_dll(1, array, .5);
}
姓名 ; 价值 ; 类型
资源;{对象[1]};对象{对象[]}
[0] ; {双[450,600]};对象{双 [,]}
现在我想将 object{double[,]} 更改为 int[,] 或 double[,]。但如何???
int[,] pic=null;
double[,] pic2=nu1l;
编辑 :
我使用了以下代码:(感谢'现在不能被命名的人')
var objectArray = obj.edge_dll(1, array, .5);
double[,] pic3 = (double[,]) objectArray[0];
它可以正确转换。
现在如何将 double[,] 转换为 int [,]
我使用了这段代码:(但是有没有更好的方法??)
int[,] pic4 =new int[pic3.GetLength(0),pic3.GetLength(1)];
for (var i = 0; i < pic3.GetLength(0); i++)
for (var j = 0; j < pic3.GetLength(1); j++)
pic4[i, j] = (int)pic3[i, j];