2013-03-08 141 views
12

我试图将列表保存到文本文件。将列表保存到txt文件

这是我的代码:

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<>吗?如果是这样,我不知道如何使用它。

+0

凡在你的代码,你定义'List.verbList' ..? – MethodMan 2013-03-08 18:14:37

+0

保存什么清单? – 2013-03-08 18:14:43

+3

显然,OP是堆栈溢出的新功能。给他休息一下。不需要downvoting,只留下有用的评论。 – 2013-03-08 18:17:26

回答

34

假设你的泛型列表是String类型:

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

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

tw.Close(); 

另外,与使用关键字:

using(TextWriter tw = new StreamWriter("SavedList.txt")) 
{ 
    foreach (String s in Lists.verbList) 
     tw.WriteLine(s); 
} 
+3

-1'using' – 2013-03-08 18:22:10

+9

'Bhushan'负1票在这里是不合适的如果OP不想使用Using? +3这是一个很好的答案 – MethodMan 2013-03-08 18:28:13

+0

完美!这样可行!谢谢! – 2013-03-08 18:28:22

6

@乔恩的答案是伟大的,在那里你需要去会得到你。那么为什么你的代码打印出来是什么。答案是:您不是通过对Lists.verbList.ToString()的隐式调用来写出列表中的内容,而是通过列表本身的字符串表示Object.ToString()定义您在此处看到的默认行为。

18

Framework 4的:没有必要使用的StreamWriter:

System.IO.File.WriteAllLines("SavedLists.txt", Lists.verbList);