将列表保存到txt文件

Jar*_*ice 34 c# list

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

这是我的代码:

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

    tw.WriteLine(Lists.verbList);
    tw.Close();
}
Run Code Online (Sandbox Code Playgroud)

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

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

我必须使用ConvertAll<>吗?如果是这样,我不知道如何使用它.

jga*_*ant 55

假设您的通用列表是String类型:

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

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

tw.Close();
Run Code Online (Sandbox Code Playgroud)

或者,使用using关键字:

using(TextWriter tw = new StreamWriter("SavedList.txt"))
{
   foreach (String s in Lists.verbList)
      tw.WriteLine(s);
}
Run Code Online (Sandbox Code Playgroud)

  • 如果OP不想使用,那么`Bhushan`否定1票不合适 +3这是一个很好的答案 (15认同)
  • @BhushanFirake那是不好的推理.1)更正的样本与提问者的风格相匹配.2)正确关闭对象.你可能不喜欢这种风格,但它完全有效. (15认同)
  • ......括号!需要我提醒你`goto:fail`? (2认同)
  • 谢谢!我正在做暑期学校的代码,这帮我完成了我的作业! (2认同)

Eri*_*sot 48

框架4:无需使用StreamWriter:

System.IO.File.WriteAllLines("SavedLists.txt", Lists.verbList);
Run Code Online (Sandbox Code Playgroud)


Rea*_*ilt 6

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