我正在編寫一個應用程序,並且我想存儲用戶選擇的文件列表。目前,我的一個設置是一個名爲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