簡體   English   中英

將項添加到數組時C#nullReferenceException

[英]C# nullReferenceException while adding items to array

當我嘗試將項添加到數組時,我收到此錯誤,它添加沒有問題1項,但當有更多它停止並給出錯誤。

nullReferenceException未將對象引用設置為對象的實例。

public void btnZoek_Click(object sender, EventArgs e)
{
    if (search == false)
    {
        OpenFiles[index] = new AddFileClass();

        System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(Application.StartupPath + "\\Saves");
        System.IO.FileInfo[] rgFiles = di.GetFiles("*.txt");//add only .txt files

        foreach (System.IO.FileInfo fi in rgFiles)
        {
            OpenFiles[index].setNewItem(index, fi.Name, Convert.ToString(di));//send the info to the array (Number, filename, filelocation)
            index++;
        }
        search = true; //make sure it doens'nt add something double
    }
    if (search == true)
    {
        Form3_Zoeken_ frmSearch = new Form3_Zoeken_();
        frmSearch.Show();
    }
}

這是一張圖片,顯示fi(FileInfo)和di(DirectoryInfo)不為空: 在此輸入圖像描述

在我看來,你永遠不會初始化OpenFiles數組項 - 也就是說,你只是初始化第一項。

嘗試這個:

public void btnZoek_Click(object sender, EventArgs e)
{
    if (search == false)
    {
        System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(Application.StartupPath + "\\Saves");
        System.IO.FileInfo[] rgFiles = di.GetFiles("*.txt");//add only .txt files

        foreach (System.IO.FileInfo fi in rgFiles)
        {
            OpenFiles[index] = new AddFileClass();
            OpenFiles[index].setNewItem(index, fi.Name, Convert.ToString(di));//send the info to the array (Number, filename, filelocation)
            index++;
        }
        search = true; //make sure it doens'nt add something double
    }
    if (search == true)
    {
        Form3_Zoeken_ frmSearch = new Form3_Zoeken_();
        frmSearch.Show();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM