首页 > 解决方案 > 将文本文件加载回列表

问题描述

我目前遇到一个小问题。

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

        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 文件,然后将其放回列表中,这样我就可以在程序中添加一个来宾。

如果有任何不清楚的地方,请告诉我,我会经常看这篇文章,所以如果你们需要任何东西,我可以立即更改它/添加一些东西。

标签: c#visual-studioclassmethodstext-files

解决方案


推荐阅读