class Program { Data1[] a; public void getdata() { a = new Data1[3]; for (int i = 0; i < 3; i++) { a[i] = new Data1(); a[i].aa = i; } } public void outdata() { Program x = new Program(); x.getdata(); Console.WriteLine(a.Length.ToString()); } static void Main(string[] args) { Program x = new Program(); x.outdata(); Console.Read(); } } public class Data1 { public int aa; }这个程序出错,说是未将对象a引用到实例,为什么我取不到a呢?明明我在main之外声明的对象a这能说明什么机制啊?谁能帮帮我,我搞不明白!
2 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
public void outdata()
{
Program x = new Program();
x.getdata();
Console.WriteLine(a.Length.ToString());
}
这里你只是给 x实例里的a赋值,并没有给当前对象里的a赋值。
public void outdata()
{
Program x = new Program();
x.getdata();
this.getdata();
Console.WriteLine(a.Length.ToString());
}
改成这样就好了。
- 2 回答
- 0 关注
- 359 浏览
添加回答
举报
0/150
提交
取消