.net:如何从数组索引中获取数据?

时间:2012-05-17 04:39:24

标签: c# .net matlab .net-4.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]则会抛出异常,可以在图片中看到

请帮忙。

快速观看

enter image description here

enter image description here

堆栈追踪:

  

在MathWorks.MATLAB.NET.Arrays.MWArray.ArrayIndexer(MWArray srcArray,   Int32 []指数)at   MathWorks.MATLAB.NET.Arrays.MWNumericArray.get_Item(Int32 [] indices)   在   MathWorks.MATLAB.NET.Arrays.MWArray.get_Item(Int32 [] indices)

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

从您发布的图片中我看到您的阵列有多个维度。

由于这不是jagged array,如果您没有为每个维度提供索引(可以这么说),则无法访问该数组的项目。换句话说,您的数组类似于YourType[m,n,p]而不是YourType[m][n,p],因此要访问YourType[m,n,p]项,您需要提供3个索引(例如var item = in_arr[0,0,0];),而不仅仅是{1}}