2013-03-08 20 views
12

Próbuję zapisać listę w pliku tekstowym.Zapisywanie list w pliku txt

To jest mój kod:

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

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

To co mam w pliku tekstowego:

System.Collections.Generic.List`1 [system.string]

Czy muszę używać ConvertAll<>? Jeśli tak, nie jestem pewien, jak tego użyć.

+0

gdzie w kodzie nie można zdefiniować 'List.verbList' ..? – MethodMan

+0

Zapisz listę czego? –

+3

Oczywiście OP jest nowością w Stack Overflow. Daj mu spokój. Nie trzeba się martwić, po prostu zostawiaj pomocne komentarze. –

Odpowiedz

34

Zakładając listy Generic jest typu String:

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

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

tw.Close(); 

Alternatywnie, z użyciem słowa kluczowego:

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

-1 za nie przy użyciu 'using' –

+9

'Bhushan' negatywne 1 głos nie jest odpowiednie tutaj, co jeśli OP nie chce korzystać z używania? +3 to jest dobra odpowiedź – MethodMan

+0

Idealnie! To działa! Dzięki! –

6

@ odpowiedzi Jona jest wielki i będzie Ci gdzie trzeba iść. Dlaczego więc twój kod drukuje to, co to jest. Odpowiedź: Nie piszesz zawartości listy, ale reprezentacja String sama twoja lista, przez niejawne wywołanie Lists.verbList.ToString(). Object.ToString() definiuje domyślne zachowanie, które tutaj widzisz.

18

Framework 4: brak potrzeby korzystania StreamWriter:

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