【发布时间】:2015-02-27 08:56:27
【问题描述】:
我声明了一个 List,可以在整个班级中访问
List<article> data;
现在我正在使用一种方法来填充列表:
StreamReader sr = new StreamReader(filePath);
while (!sr.EndOfStream)
{
string[] Line = sr.ReadLine().Split(';');
article newArticle = new article();
newArticle.articleNumber = Line[0];
newArticle.description = Line[1];
newArticle.articleId = Line[2];
try
{
data.Add(newArticle);
}
catch(NullReferenceException ex)
{
// Nothing to do here
}
}
每次循环重复,newArticle-Object 包含他所有的元素,所以它绝对不为空。 但它不会添加到数据列表。 我错过了什么?
【问题讨论】:
-
data怎么样?您是否在调用Add方法之前初始化列表?你为什么要吞下 NullReferenceException ? -
它多久进入
catch块? -
他们说的是做:List
data = new List (); -
为什么人们如此激烈地投票反对这个问题? @Marcel 描述了这个问题,他发布了他的代码,只是不清楚他在调试器中看到的响应。他的搜索可能会返回一个解决方案,但从问题来看,他似乎不确定是什么导致了问题。
-
@Bara'thorn:他抓到
NullReferenceException显然表明他知道发生了什么。对其进行简单搜索确实揭示了实际原因。而不是通过放置一个空的catch来忽略它,他可以解决这个问题。此外,否决按钮提供了更多投反对票的理由。
标签: c# collections null