我有一堂课,有一个聚会和一个帐户列表。
public class Holder
{
public string Party { get; set; }
public List<string> AccountList { get; set; }
}
在我的程序中,我有一个列表来保存我的AccountList
List<string> fulls = new List<string>();
fulls.Add("Bank1");
fulls.Add("Bank2");
fulls.Add("Bank3");
并且我已经初始化了我的课程public List<Holder> holderFulls{ get; set; }
我正在尝试为其添加一些值:
holderFulls.Add(new PivotFull { Party="John", AccountList=fulls });
但是我一直收到此错误?
对象引用未设置为对象的实例。
答案 0 :(得分:0)
您试图在列表中添加未实例化的项目。您的public List<Holder> holderFulls{ get; set; }
是一个属性,只有在实例化该类后才能访问该属性,因此,如果您想像使用该属性那样使用该属性,则可以这样初始化它。 public List<Holder> holderFulls{ get; set; } = new List<Holder>();
希望这会有所帮助。
答案 1 :(得分:0)
您已经声明了变量holderFulls
,但没有初始化了它。您应该首先将其初始化为:
public List<Holder> holderFulls{ get; set; } = new List<Holder>();
或在添加之前将其初始化:
public List<Holder> holderFulls{ get; set; }
...
holderFulls = new List<Holder>();
holderFulls.Add(new PivotFull { Party="John", AccountList=fulls });
还请注意,您的列表的类型为Holder(List<Holder>
),但是您要添加的类型为PivotFull
的项目,尽管当前问题并非如此,但我认为值得一提。 / p>
答案 2 :(得分:0)
如果您使用的是任何较旧的.NET框架无法处理内联属性初始化,请在无参数构造函数中添加初始化代码,例如:
public class Holder
{
public string Party { get; set; }
public List<string> AccountList { get; set; }
public Holder()
{
this.AccountList = new List<string>();
}
}