C#空对象引用错误

C#空对象引用错误,c#,nullreferenceexception,C#,Nullreferenceexception,我正在使用第三方API和新的编程,所以我需要一些指导 有一个具有属性的类InStreamInfo Comments Dimention Names InStreamAdditionalInfo[] InStreamAdditionalInfo[]类的属性定义为 ID AddInfoDescription InStreamAdditionalInfo[] _infoAdd= new InStreamAdditionalInfo[1]; _infoAdd[0].ID=12345; 我正在创建

我正在使用第三方API和新的编程,所以我需要一些指导

有一个具有属性的类
InStreamInfo

Comments
Dimention
Names
InStreamAdditionalInfo[]
InStreamAdditionalInfo[]
类的属性定义为

ID
AddInfoDescription
InStreamAdditionalInfo[] _infoAdd= new InStreamAdditionalInfo[1];

_infoAdd[0].ID=12345;
我正在创建一个名为
InStreamInfo
as的类对象

   InStreamInfo _info=new InStreamInfo ();
   _info.Comments="Test Comment";
   _info.Dimention= "200x300";
   _info.Names="Test Names 1";
InStreamAdditionalInfo[]
定义为

ID
AddInfoDescription
InStreamAdditionalInfo[] _infoAdd= new InStreamAdditionalInfo[1];

_infoAdd[0].ID=12345;
但这里我得到了一个错误

对象引用未设置为对象的实例


您正在创建一个具有一个位置的数组,但该位置的数组为空。您需要初始化
\u infoAdd[0]
。像这样的

_infoAdd[0] = new InStreamAdditionalInfo();
_infoAdd[0].ID=12345;
在C#上定义集合的大小并不常见。除非您有特定的原因,否则您可以使用一个集合,在需要时自动增加其大小。这是一个例子

var _infoAdd= new List<InStreamAdditionalInfo>();
_infoAdd.Add(new InStreamAdditionalInfo { ID = 12345 });
var\u infoAdd=new List();
_Add.Add(新的流内附加信息{ID=12345});

Null引用总是一样的。您正在尝试访问值为null的对象的属性。检查该链接,它将向您展示获得该异常的所有可能方法以及如何修复该异常。如果你实例化一个对象数组,这并不意味着数组已填充。我看到了链接,但它有太多东西让我感到困惑。你能告诉我我的解决方案有什么问题吗?当你使用调试器时,你发现了什么?@Jeremythonpson:我不明白……似曾相识。似乎在连续几天中,我们都发现自己在这里看到了另一个ObjectRefNotSetToAnInstance异常。顺便说一句,我没有投你反对票,但在将来,我们最好用一个重复的链接来结束这些问题(它有所有信息供人们诊断这个非常常见的异常)。@Jeremy Thompson:我认为他的困惑在于集合是如何初始化的,不要认为关于这个错误的一般参考有帮助。他认为初始化集合会自动用一个新实例初始化每个posistion。