【发布时间】:2012-11-05 08:43:41
【问题描述】:
我正在编写一个应用程序,我想存储用户选择的文件列表。目前,我的一个设置是一个名为 filesToFetch 的 StringCollection,它是用户范围的,包含程序应该获取的所有文件的路径。我有一个按钮,允许用户将新文件添加到列表中。这是按钮点击事件的代码
private void button1_Click(object sender, EventArgs e)
{
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
Properties.Settings.Default.filesToFetch.Add(openFileDialog1.FileName);
Properties.Settings.Default.Save();
}
}
当我尝试向 StringCollection 添加新文件时,出现错误
NullReference 异常未处理
对象引用未设置为对象的实例。
我认为这可能是因为 filesToFetch 尚未初始化,但我不太确定。我可能是错的,但我认为一个对象在初始化时会获得一个名称,并且由于我的设置都是在设计时获得名称,我假设它们在程序运行时自动初始化,但现在我想我可能错了对这个。是这个问题,还是我遗漏了什么?
这是我的设置的屏幕截图以供参考。
【问题讨论】:
-
你可以在该行放一个断点,看看
null是什么,不是吗? -
是的,仅仅命名一个变量是不够的,你还需要在使用之前对其进行初始化:例如IList
a = new List ();
标签: c# settings stringcollection