我已经开发了C#dll作为程序集,它有一个返回通用列表的方法 - List<T>.我从Matlab调用此方法并获取返回值System.Int32[].
如何将此类型转换为Matlab矩阵(或单元格)以便在Matlab中更自由地使用它?
更好的是,如果被Matlab调用,我可以让dll自动返回'Matlab style'数组吗?
假设我们有以下类型的数组System.Int32[](由C#函数返回):
arr = NET.createArray('System.Int32',5);
for i=1:5
arr.Set(i-1, i);
end
Run Code Online (Sandbox Code Playgroud)
现在要转换为MATLAB矩阵,我们可以简单地做到:
M = double(arr)
Run Code Online (Sandbox Code Playgroud)
或者更具体:
M = int32(arr)
Run Code Online (Sandbox Code Playgroud)
结果:
>> whos
Name Size Bytes Class Attributes
M 1x5 20 int32
arr 1x1 60 System.Int32[]
Run Code Online (Sandbox Code Playgroud)