我目前正在尝试将.mat文件转换为XML。为此,我必须使用一个库,该库会返回一个动态对象。我知道.mat文件的结构,因此可以从中获取数据。我将这些数据存储在一个对象中。.mat文件中的一个值是MATLAB类型的<1701x256 double>
。我以为它应该是double[][]
。但是当我尝试分配这个值时,我得到了:
Unbehandelte Ausnahme: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Der
double[*,*]-Typ kann nicht in double[][] konvertiert werden.
bei CallSite.Target(Closure , CallSite , Object )
bei System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site,T0 arg0)
bei CameraParser.Program.Main(String[] args) in c:\myProject\Program.cs:Zeile 44.
double[*,*]
是什么类型?我应该给赋值对象的属性设置哪个类型?
我尝试过
double[][] myAttribute;
并且
double[] myAttribute;
并且
double** myAttribute;
最近一次给了
Error 6 Pointers and fixed size buffers may only be used in an unsafe context
double[,]
对应的是double**
吗? - Martin ThomaSystem.Xml.Serialization.XmlSerializer
- 但我对C#还很陌生,如果有更合适的东西,我可以改变这个。 - Martin ThomaXmlSerializer
不直接支持多维数组序列化(如果我错了,请指正),但是你可以尝试使用 BinaryFormatter,除非你需要将序列化格式设置为 XML? - keyboardP