|
比如说
public class A
{
public string aa{get;,set;}
public List<B> blist{get;set;}
}
public class B
{
public string bb1{get;set;}
public string bb2{get;set;}
}
//然后我赋值给a.
A a=new A();//实例化model A。
a.aa="hello";//给a的aa赋值。
//前面都没有问题,下面就报错了,提示Object reference not set to an instance of an object?
a.blist.add(new B{bb1="helloword",bb2="heyboys"});
我的问题是,前面已经实例化了model A,应该里面的blist也一并实例化了啊,为什么还是提示为实例化,而且当我 |
|
|
求解决,大神来一下
|
|
| 10分 |
类在实例化时,会为未赋值的字段赋默认值,即default(T)
default(List<B>)为null,null.Add当然报异常 至于你说的a.aa=”hello”;不报错,赋值当然不报错了 你执行的是a.blist.add,不是赋值 |
| 2分 |
如果你要默认就赋值的话,那么应该写构造函数
public A
{
this.blist = new List<B>();
}
|
| 8分 | |
|
谢谢了,了解了,多学了点东西 |
|
|
谢谢 |
|