如何将列表框项保存在文本文件中

本文关键字:存在 文本 文件 保存 列表 | 更新日期: 2023-09-27 18:33:23

我正在尝试将列表框项保存在文本文件中。我从属性中添加的项目:

我的代码是:

private void button1_Click(object sender, EventArgs e)
        {
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                using (FileStream S = File.Open(saveFileDialog1.FileName, FileMode.CreateNew))
                    using (StreamWriter st = new StreamWriter(S))
                        foreach (string aa in listBox1.Items)
                            st.WriteLine(listBox1.Items);
            }
        }

文本文件中的输出为:System.Windows.Forms.ListBox+ObjectCollection

如何将列表框项保存在文本文件中

正如@davidsbro提到的,您希望aast.Writeline中,因为这是实际的字符串。 listBox1.Items 给出了一个 Writeline 无法处理的类,因为它不知道你想从Items那里得到什么。因此,它会输出名称,这是您得到的结果。如果需要有关该Items类的所有属性和其他信息,则必须对其进行序列化并写入文件。

只需将aa使用 writeLine

               if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    using (FileStream S = File.Open(saveFileDialog1.FileName, FileMode.CreateNew))
                    {
                        using (StreamWriter st = new StreamWriter(S))
                         {
                            foreach (var aa in listBox1.Items)
                                st.WriteLine(aa.ToString());
                         }
                    }
                }