我是想问:我在c#中定义了一个类:public class aa{ public int x; public List<bb> y;}public class bb{ public string g; public string h;}我是这样赋值的:aa a = new aa();bb b = new bb();b.g = 2;b.h = 3;a.x = 1;a.y.add(b);这里报错 赋值报错了:未将对象引用设置到对象的实例
能举个例子吗?
追答例如在类A里定义一个List:
public class A
{
public List numList;
public A()
{
numList = new List();
}
}
这样子,在构造方法A()里把List numList实例化,new出来。
然后在外面可以使用了,例如:
A a = new A();
a.numList.Add(1);
……
如果不想在构造方法里实例化,也可以在外面实例化,
在你的代码“a.y.add(b);”前加上“a.y = new List();”,这样也可以。
但是这样容易出现引用对象为空这个异常,因此还是建议在类里把成员变量定义好。