在 .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 版本。
我实际上正在学习 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 版本。