rekursiv...und schon setzt es bei mir aus =)

turndevil

Mitglied
Hallo.

Habe letztens in diesem (oder nem anderen =) ) Forum eine rekursive Funktion präsentiert bekommen, die mir mein Dateisystem in einen TreeView einliest. Eigentlich wollte ich nur die Ausgabe in eine ArrayList umlenken aber jetz geht garnix mehr.

Code:
private void createFileSystem(DirectoryInfo dir)
		{
			
			fileSys = new ArrayList();
			DirectoryInfo[] subs = dir.GetDirectories();
			foreach(DirectoryInfo sub in subs)
			{
				this.createFileSystem(sub);
			}
			FileInfo[] files = dir.GetFiles();
			foreach(FileInfo file in files)
			{
				fileSys.Add(file);
			}
		}

Oben ist natürlich "public System.Collections.ArrayList fileSys;" deklariert.
Wenn ich abe jetzt durch fileSys.Count die Anzahl der Dateien anzeigen lassen will, sagt er "0". Obwohl es (nachgezählterweise) 1318 sein müssten. Den Aufruf an sich hab ich schon kontrolliert. Der Pfad stimmt auch.

Ihr könnt mir da sicher weiterhelfen.

mfg
tom
 
Na ja, ich würde mal aufhören das Array immer wieder zu löschen, dann steht auch was drinnen ... *g* :D

Wirf mal folgende Zeile raus:
Code:
fileSys = new ArrayList();
Erstelle das Objekt außerhalb der rekursiven Methode, z.B. im Konstruktor. Dann sollts klappen. :)
 
Zurück