【问题标题】:IndexOutOfRange exception when giving values to a jagged array [duplicate]向锯齿状数组赋值时出现IndexOutOfRange异常[重复]
【发布时间】:2016-06-05 15:24:16
【问题描述】:

我正在尝试将传感器值与保存在锯齿状数组中的值进行比较(26 个保存的可能情况,5 个手指,每个手指的 3d 矢量) 当我定义数组的值时,我可以毫无问题地设置手势[0]的值,但是一旦我开始定义手势[1], 我得到一个 IndexOutOfRange 异常。

此外,锯齿状数组是否适合此目的(3d 向量数组的数组)?

public class Signs
{
public static double[][][] gestures = new double[26][][];

    public void Define()
    {


        gestures[0] = new double[5][];
        gestures[0][0] = new double[3] { 0.15, 0.97, -0.21 };
        gestures[0][1] = new double[3] { -0.56, -0.81, -0.18 };
        //...
        gestures[0][5] = new double[3] {-0.21,0.44,0.2}



        gestures[1] = new double[5][]; //IndexOutOfRange exception
        gestures[1][0] = new double[3] { 0.21, 0.96, -0.21 };
        gestures[1][1] = new double[3] { 0.19, 0.96, 0.21 };
        //...

【问题讨论】:

  • 我会说索引超出范围被抛出 gestures[0][5] = new double[3] {-0.21,0.44,0.2}

标签: c# arrays jagged-arrays leap-motion indexoutofrangeexception


【解决方案1】:

问题出在这一行

gestures[0][5] = new double[3] {-0.21,0.44,0.2}

您定义了一个长度为 5 的数组 (gestures[0] = new double[5][];)

所以最大索引是 4 (0-4)

【讨论】:

  • 解决了,编译器在下一行抛出异常,这让我很困惑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-04
  • 1970-01-01
  • 2016-12-19
  • 1970-01-01
  • 2020-04-02
  • 1970-01-01
相关资源
最近更新 更多