C# 将matlab事件从sbyte[]转换为sbyte[]
我从字节[]中的非托管代码分配数据内存。我能够在sbyte[]中转换该数组,并将其每个事件提供给matlab侦听器。但matlab无法将此数据解释为sbyte[]。 但是Matlab能够理解系统.SByte[]对象。因此,我想将sbyte[]数组转换为sbyte[],并给出matlab脚本 但是我不想把每个元素复制到一个新的数组中C# 将matlab事件从sbyte[]转换为sbyte[],c#,arrays,C#,Arrays,我从字节[]中的非托管代码分配数据内存。我能够在sbyte[]中转换该数组,并将其每个事件提供给matlab侦听器。但matlab无法将此数据解释为sbyte[]。 但是Matlab能够理解系统.SByte[]对象。因此,我想将sbyte[]数组转换为sbyte[],并给出matlab脚本 但是我不想把每个元素复制到一个新的数组中 有人有过这样的经历吗?这里一个轻率的回答是: sbyte[] arr = GetData(); System.SByte[] arr2 = arr; CallMatl
有人有过这样的经历吗?这里一个轻率的回答是:
sbyte[] arr = GetData();
System.SByte[] arr2 = arr;
CallMatlab(arr2);
然而,这基本上不是答案,因为它没有任何作用。sbyte只是global::System.sbyte的别名。它们是完全相同的东西。没有必要或适当的转换,因为它们已经是相同的东西,忽略了故意的边缘情况,比如声明自己的本地类型SByte。C不像Java;在Java中,例如int和Integer之间有一个重要的区别;在C语言中,情况并非如此:int==System.Int32.um。。。。sbyte是System.sbyte。它们是完全一样的东西。因此,sbyte[]是System.sbyte[]。。。您能更具体地说明这里发生的错误吗?