2 kykiske22 KyKiske22 于 2015.07.06 14:55 提问

问一个关于属性与数组的问题。

之前我给100个参数名不同的参数设定属性,从而采用调用属性的方法对参数进行赋值(例如 Para p=new Para();p.power_1=3;)、而我现在把所有的参数放到数组里再设定属性就出错”未将对象引用到实例“
新代码如下:
struct Status
{
private int[] data;
public int[] Data
{
get
{
return this.data;
}
set
{
this.data = value;
}
}
}

    private void button1_Click(object sender, EventArgs e)
    {
        Status sta = new Status();
        int[] t = sta.Data;
        textBox1.Text = (t[0]+1).ToString();
        textBox2.Text = (t[1]+2).ToString();
        textBox3.Text = (t[2]+3).ToString();
        textBox4.Text = (t[3]+4).ToString();
    }
              我知道问题在这里 int[] t = sta.Data; 从断点来看Data数组为空。
                我的目的是给int[] t 赋值初值分别为1,2,3,4 。而textbox最终结果
                是2,4,6,8
                谁能帮我解决下如何使Data不为空??一到数组就不会了,万分感谢!!!!!!!!!!

3个回答

caozhy
caozhy   Ds   Rxr 2015.07.07 01:03

Status sta = new Status();
sta.Data = new int[] {1,2,3,4};
int[] t = sta.Data;
...

KyKiske22
KyKiske22 可以了。测试成功。我在之后添加了构造器可以利用索引器赋值了。
2 年多之前 回复
ligyu110
ligyu110   2015.07.06 15:11

什么地方对数组进行了赋值?

KyKiske22
KyKiske22 this.data = value; set里就会赋值啊。单体参数就这样的。我在创建结构对象后加了sta.Data[0] = 1; 还是不行。怎样赋值呢?用惯了直接封装大量单体参数了
2 年多之前 回复
KyKiske22
KyKiske22   2015.07.07 10:25

可以了。测试成功。我在之后添加了构造器可以利用索引器赋值了。

Csdn user default icon
上传中...
上传图片
插入图片