将值设置为从一个类到另一个类的多维数组;数组未初始化?

时间:2013-08-17 21:45:46

标签: c# multidimensional-array initialization

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

public float[,] values;

然后在另一个类中,我尝试使用类对象(网格)引用数组,如下所示:

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

我在代码的grid.values [0,0]上得到一个错误:对象引用未设置为对象的实例。

OO编程还是有点新鲜,所以我可能没有理解正确的东西,但我不能为我的生活工作。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分: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以外的其他值。