2

第一次发帖。我有点 C# 初学者,在为多维数组设置值时遇到了一些麻烦。该数组保存在一个类中,我正在尝试设置另一个类的值。我无法解决的问题是如何从其他类初始化数组变量?在一类(网格)中,我有:

public float[,] values;

然后在另一个类中,我尝试使用这样的类对象(网格)来引用数组:

GRID grid = new GRID();
this.lblFirstVal.Text = "First Value (0,0): " + grid.values[0, 0];

我在代码的 grid.values[0,0] 部分收到错误:对象引用未设置为对象的实例。

对 OO 编程还是有点陌生​​,所以我可能没有正确理解某些东西,但我一辈子都无法解决这个问题。提前感谢您的帮助!

4

1 回答 1

1

确保values通过使用字段初始化程序适当地初始化数组:

public float[,] values = new float[1, 1];    // new 1 by 1 array

或者通过在构造函数中设置字段的值:

public float[,] values;

public GRID() {
    this.values = new float[1, 1];           // new 1 by 1 array
}

或者您可以在外部设置字段的值:

GRID grid = new GRID();
grid.values = new float[1, 1];               // new 1 by 1 array
this.lblFirstVal.Text = "First Value (0,0): " + grid.values[0, 0];

当然,您可能希望将宽度和高度设置为 1 以外的值。

于 2013-08-17T21:47:42.187 回答