将文本文件加载回List <class>

时间:2019-01-02 19:33:04

标签: c# visual-studio class methods text-files

我目前遇到一个小问题。

我的程序当前输出一个返回值,并使用以下方法将其放入列表框:

        public override string ToString()
    {
        CheckKamer();
        if (IsKamerBezet == true)
        {
            return $"Kamer: {Nummer} is bezet";
        }
        else
        {
            return $"Kamer: {Nummer} is vrij";
        }
    }

之后,我的程序使用以下方法将方法提供的返回值保存在.txt文件中:

private void ReserveringText()
    {
        using (System.IO.StreamWriter file =
        new System.IO.StreamWriter(filepath, true))
            file.WriteLine(reserveringLB.Items.ToString());
        System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(filepath);
        foreach (var item in reserveringLB.Items)
        {
            SaveFile.WriteLine(item.ToString());
        }
    }

现在,当我重新启动程序时,它会使用另一种简单的方法读取.txt文件中的行并将其重新设置在列表框中:

        private void LaadItems()
    {
        var lines = File.ReadAllLines(filepath);
        reserveringLB.DataSource = lines;
    }

但是,每当我尝试向酒店添加新访客时,它都说该对象引用未设置为该对象的实例,因为它是从.txt文件而不是从我以前加载过的类列表中加载的来自。

我的客人被添加到这里的班级:

private void reserveerBtn_Click(object sender, EventArgs e)
{
    Gast gast = new Gast(tbNaam1.Text, cbOntbijt1.Checked, cbDiner1.Checked, (Model.Enum.Geslacht)cbGeslacht1.SelectedValue);
    Reservering reservering = new Reservering(vrijekamer, dateTimePicker1.Value, dateTimePicker2.Value, gast);
                    gast.Reservering = reservering;
    admin.VoegGastToe(gast);
     admin.VoegReserveringToe(reservering);
}

任何人都可以帮助我,告诉我如何让程序加载.txt文件,然后将其放回列表中,以便实际上可以向该程序添加一个来宾。

如果有任何不清楚的地方,请告诉我,我将大量阅读这篇文章,以便我可以立即更改它/如果你们需要什么,可以添加一些内容。

0 个答案:

没有答案