我正在编写一个应用程序,并且我想存储用户选择的文件列表。目前,我的一个设置是一个名为filesToFetch的StringCollection,它是User范围的,包含程序应该读取的所有文件的路径。我有一个按钮,允许用户将新文件添加到列表中。这是按钮单击事件初始化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 =新列表(); –
Kevin