在 .txt 文件中保存列表<>

Save List<> in .txt file

我实际上正在学习 c#,但在将我的 List<> 保存到文件时遇到了问题。我花了几个小时寻找答案,但没有找到(也许我看错了)。我有“CS0030 C# 无法将类型转换为 'string'”错误(并且 foreach 循环正在标记此错误)。 有人可以告诉我我做错了什么或给我一些建议吗? 谢谢

private void SaveButton_Click(object sender, EventArgs e)
        {
            SaveFileDialog dlg = new SaveFileDialog();
            dlg.FileName = "*.txt";
            dlg.DefaultExt = "txt";

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                Stream fileStream = dlg.OpenFile();
                TextWriter writer = new StreamWriter(fileStream);

                foreach(string s in list2)
                {
                    writer.WriteLine(s);
                }
            writer.Close();
            }
            dlg.Dispose();
        }

list2 是 list1 的副本,用户在其中添加了一些元素。

如果 list2 被定义为 List<SomeClass> 你必须像 SomeClass s 那样在 foreach 中显式指定类型或者使用 var s 让编译器决定它。

// or foreach(SomeClass s in list2)
foreach(var s in list2)
{
   writer.WriteLine(s);
}

--编辑

TextWriter.WriteLine has quite many overloads and when you specify an object it will call internally its toString() method 这可能不是您想要的。

重载次数当然取决于 .NET Framework/.NET Core 版本。