从sbyte []转换为SByte []以获取matlab事件

时间:2014-09-25 11:38:09

标签: c# arrays

我从byte []中的非托管代码分配数据内存。我能够在sbyte []中转换该数组,并将每个事件提供给一个matlab监听器。但是matlab无法将此数据解释为sbyte []。 但是Matlab能够理解System.SByte []对象。所以我想将sbyte []数组转换为SByte []并提供给matlab脚本。

但我不想将每个元素复制到一个新数组。

有人有经验吗?

1 个答案:

答案 0 :(得分:1)

这里一个无聊的答案是:

sbyte[] arr = GetData();
System.SByte[] arr2 = arr;
CallMatlab(arr2);

但是,这基本上是一个非答案,因为没有做任何事情sbyte只是别名global::System.SByte。它们正好相同的东西。没有必要或适当的转换,因为它们已经是相同的东西(忽略故意的边缘情况,例如声明自己的本地类型称为SByte)。 C#不像Java;在Java中,(例如)intInteger之间存在重要差异;在C#中,情况并非如此:int === System.Int32