68

我正在尝试将列表保存到文本文件中。

这是我的代码:

public void button13_Click(object sender, EventArgs e)
{
    TextWriter tw = new StreamWriter("SavedLists.txt");

    tw.WriteLine(Lists.verbList);
    tw.Close();
}

这是我在文本文件中得到的:

System.Collections.Generic.List`1[System.String]

我必须使用ConvertAll<>吗?如果是这样,我不确定如何使用它。

4

3 回答 3

109

框架4:无需使用StreamWriter:

System.IO.File.WriteAllLines("SavedLists.txt", Lists.verbList);
于 2016-04-19T06:55:28.427 回答
82

假设您的通用列表是字符串类型:

TextWriter tw = new StreamWriter("SavedList.txt");

foreach (String s in Lists.verbList)
   tw.WriteLine(s);

tw.Close();

或者,使用 using 关键字:

using(TextWriter tw = new StreamWriter("SavedList.txt"))
{
   foreach (String s in Lists.verbList)
      tw.WriteLine(s);
}
于 2013-03-08T18:15:45.727 回答
8

@Jon 的回答很棒,可以带你去你需要去的地方。那么为什么你的代码会打印出它是什么。答案:您不是通过隐式调用 Lists.verbList.ToString() 来写出列表的内容,而是列表本身的字符串表示形式。Object.ToString()定义了您在此处看到的默认行为。

于 2013-03-08T18:22:59.130 回答