C# 将对象添加到对象列表

C# 将对象添加到对象列表,c#,C#,我得到了一个例外,我没有看到我错过了什么 我有一个名为MyComposedModel的对象模型,我通过在构建时添加每个元素来创建这些模型的列表 我有这个: List<MyComposedModel> TheListOfModel = null; MyComposedModel ThisObject = new MyComposedModel(); foreach (MyComposedModel in some list) { ThisObject.Reset() //clear

我得到了一个例外,我没有看到我错过了什么

我有一个名为MyComposedModel的对象模型,我通过在构建时添加每个元素来创建这些模型的列表

我有这个:

List<MyComposedModel> TheListOfModel = null;
MyComposedModel ThisObject = new MyComposedModel();

foreach (MyComposedModel in some list)
{
 ThisObject.Reset() //clears all properties
 ....
 TheListOfModel.Add(ThisObject)
}
我得到的对象引用没有设置为对象的实例。在AddThisObject行上

我错过了什么

谢谢。

您必须先初始化ListfModel。而不是:

List<MyComposedModel> TheListOfModel = null;
这样做:

List<MyComposedModel> TheListOfModel = new List<MyComposedModel> ();
您必须首先初始化ListofModel。而不是:

List<MyComposedModel> TheListOfModel = null;
这样做:

List<MyComposedModel> TheListOfModel = new List<MyComposedModel> ();

ListofModel为null,因此无法对其应用方法。

ListofModel为null,因此无法对其应用方法。

好的,谢谢。只需知道:我有一个对象,对象的属性之一是一个名为ThisList的列表。在Reset方法中,我有ThisList=null;这是清除列表的正确方法还是它也会出现bug?ThisList.Clear将删除所有元素。是的,我将使用ThisList.Clear。它更具声明性。代码的读者确切地知道您在做什么,所以我想您永远不应该使用list MyList=null初始化列表;但是应该使用List MyList=newlist;谢谢。好的,谢谢。只需知道:我有一个对象,对象的属性之一是一个名为ThisList的列表。在Reset方法中,我有ThisList=null;这是清除列表的正确方法还是它也会出现bug?ThisList.Clear将删除所有元素。是的,我将使用ThisList.Clear。它更具声明性。代码的读者确切地知道您在做什么,所以我想您永远不应该使用list MyList=null初始化列表;但是应该使用List MyList=newlist;谢谢。与您看到的错误无关,但您正在将同一对象反复添加到列表中。每个ThisObject.Reset都将清除您添加到列表中的对象。与您看到的错误无关,但您正在将同一对象反复添加到列表中。每个ThisObject.Reset都将清除已添加到列表中的对象。