Tagi na forum.

Windows 14205 SQL Server 2132
sieci 6796 Windows XP 1921
SQL 6578 Outlook 1838
SBS 3868 Uprawnienia 1777
Windows 2003 2781 IIS 1636
Windows Server 2588 Office 1516
DNS 2315 Skrypt 1499

pokaż wszystkie tagi na forum

ArrayList zapis txt

stumi 2011-01-11 13:35:09
0
avatar
 
 
Witam mam problem z zapisaniem arraylisty,jak bylo to w tablicy to ta komenda:
File.WriteAllLines(@"C:\arraylist.txt", arraylist); ładnie chodzila i zapisywala a pod arrayliste nie dziala,dlaczego i co zrobic zebym mogl to zapisac do txt ?


marcin7777  2011-01-11 14:30:53 #1
0
avatar
 
 
http://www.daniweb.com/forums/thread175157.html
 
Sprawdź ten link może pomoże.

stumi  2011-01-11 17:07:18 #1.1
0
avatar
 
 
Prawie sie udalo :)
ale w pliku nie zapisuje mi tego co podaje tylko system.collection.arraylist
 
 
StreamWriter zapisz = new StreamWriter(@"C:\garaz.txt");
for (int i = 0; i < size; i++)
{
string a=Console.ReadLine();
garaz.Add(a);
 
 
 
 
}
 
zapisz.Write(garaz.ToString());
zapisz.Close();
Ktos wie moze dlaczego ???
 

Edytowano 1 raz. Ostatnio 2011-01-11 17:07:44 przez stumi.
ILikeThis  2011-01-11 20:44:59 #1.1.1
0
avatar
 
 
Zamiast:

zapisz.Write(garaz.ToString());

zapisuj po prostu kolejne elementy z ArrayList:



[Kod]
foreach(var ele in garaz)
{
zapisz.Write(ele.ToString());
}




lub zamień ArrayList na tablice:



[Kod]
String[] tab = (String[]) garaz.ToArray( typeof( string ) );






i zapisuj tak jak zapisywałeś na początku.
 
 

Jeśli ja pomogłem Tobie, Ty pomóź mi. -> Kliknij "Pomógł mi" - To tylko jeden klik:-)...

Sarrus  2011-01-23 15:29:38 #1.1.2
0
avatar
 
 
Błąd jaki popełniłeś polega na tym, że przekazywałeś ArrayList jako całość do strumienia. Wywoływana wówczas była metoda dziedziczona po System.Object - ToString(). Efektem tego jest wypisanie nazwy klasy obiektu wraz z przestrzenią nazw czyli System.Collection.ArrayList. Rozwiązaniem jest właśnie iterowanie po obiektach przechowywanych na liście tak jak to podano wyżej ;).

Udziel odpowiedzi

avatar
Treść wpisu:

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Idź na górę strony