未通过方法检测到或正确找到XNA C#数组

时间:2017-12-03 16:03:39

标签: c# xna indexoutofrangeexception

简单问题,但我无法找到答案。我已经问过这个问题,但它被标记为"什么是IndexOutOfRangeException / ArgumentOutOfRangeException以及如何修复它?"这是我已经阅读过但没有找到答案的解决方案。请帮助,非常感谢。

public static int tileValue;
    public static int layers;
    public static int rows;
    public static int columns;

    static public int Layer;
    static public int Row;
    static public int Col;

    static public int[,,] map = new int[Layer, Row, Col];// <<<<<<<<<<<<<<<<<<< FIX THIS, i dont make it??

    public static int Level(int layer, int row, int column)
    {
        int tileIndex = 0;
        if (Layer == 2 && Row == 10)
        {
            //map.SetValue(4, layers, rows, columns);
            tileIndex = (int)map.GetValue(0, 0, 0);
        }

        return tileIndex;
    }

我不知道为什么我会收到System.IndexOutOfRangeException。我测试了Layer,Row和Col的变量为2,10,10,这就是为什么我有if条件而代码只有在我手动输入数字时才有效。如,

 static public int[,,] map = new int[2, 10, 10];

Level方法tileindex(现在)检查0,0,0的值;要检查的最小值,并将值返回到其他类。然而,我仍然收到错误。我知道问题出在我的

static public int[,,] map = new int

因为它仅在我手动输入时才有效。我使用if条件来查看数字输入是否正常,它们是......解决方案?

0 个答案:

没有答案