0

代码 :

  byte[] bytes = new byte[fs.Length];
   var read =  (fs.Read(bytes, 0, Convert.ToInt32(fs.Length)));
   long flength = fs.Length;
   int fSize = int.Parse(flength.ToString());
   MWArray[] in_Arrw = new MWArray[((int)read)];

   MWNumericArray arr = new MWNumericArray(fSize, 1, bytes);

   ChordRecognizer hj = new ChordRecognizer();

   MWArray in_Arr = hj.estimateCost(arr);
   fs.Close();   

我无法得到它返回的内容in_Arr = hj.estimateCost(arr),如果我尝试访问会抛出异常in_Arr[0],可以在图像中看到

请帮忙。

快速观看:

在此处输入图像描述

. 在此处输入图像描述

堆栈跟踪 :

在 MathWorks.MATLAB.NET.Arrays.MWArray.ArrayIndexer(MWArray srcArray, Int32[] indices) 在 MathWorks.MATLAB.NET.Arrays.MWNumericArray.get_Item(Int32[] indices) 在 MathWorks.MATLAB.NET.Arrays.MWArray。 get_Item(Int32[] 索引)

4

2 回答 2

0

您似乎收到“无效索引异常”。我认为 [0] 不是访问对象的正确方法

于 2012-05-17T05:10:22.580 回答
0

从您发布的图片中,我看到您的数组不止一维。

由于这不是锯齿状数组,因此如果您不为每个维度提供索引(可以这么说),您将无法访问数组中的一项。换句话说,您的数组类似于YourType[m,n,p]而不是YourType[m][n,p],因此要访问您中的一项,YourType[m,n,p]您需要提供3 个索引(例如var item = in_arr[0,0,0];),而不仅仅是一个。

于 2012-05-17T06:37:41.007 回答