deine Variante hat ein paar kleinere Fehler und würde bei Ordnern mit sehr vielen Unterordnern deutlich an Performance verlieren.
.NET 4.0
[code]Private Sub FileList(ByRef Output As ListBox, ByVal Dir As String)
Dim Directory As New DirectoryInfo(Dir)
For Each subDirectory As DirectoryInfo In Directory.EnumerateDirectories(„*.*“, SearchOption.TopDirectoryOnly)
Output.Items.Add(subDirectory.Name)
Next
For Each subFile As FileInfo In Directory.EnumerateFiles(„*.*“, SearchOption.TopDirectoryOnly)
Output.Items.Add(subFile.Name)
Next
End Sub[/code]
@Martin Stühmer
quatsch, deine methode würde auch keinen deut schneller laufen – die Add funktion ist jetzt nicht so wirklich eine der langsamen funktionen, bei denen sich eine asynchrone ausführung lohnen würde.
ein beginupdate und endupdate bei einer listview würde da viel mehr helfen, oder eine virtuelle auflistung ….
vor allem würde es mich interessieren, wie ordner mit vielen unterordnern das ganze verlangsamen, wenndie „SearchTopLevelOnly“ option da noch mit drin ist …
Hallo,
deine Variante hat ein paar kleinere Fehler und würde bei Ordnern mit sehr vielen Unterordnern deutlich an Performance verlieren.
.NET 4.0
[code]Private Sub FileList(ByRef Output As ListBox, ByVal Dir As String)
Dim Directory As New DirectoryInfo(Dir)
For Each subDirectory As DirectoryInfo In Directory.EnumerateDirectories(„*.*“, SearchOption.TopDirectoryOnly)
Output.Items.Add(subDirectory.Name)
Next
For Each subFile As FileInfo In Directory.EnumerateFiles(„*.*“, SearchOption.TopDirectoryOnly)
Output.Items.Add(subFile.Name)
Next
End Sub[/code]
@Martin Stühmer
quatsch, deine methode würde auch keinen deut schneller laufen – die Add funktion ist jetzt nicht so wirklich eine der langsamen funktionen, bei denen sich eine asynchrone ausführung lohnen würde.
ein beginupdate und endupdate bei einer listview würde da viel mehr helfen, oder eine virtuelle auflistung ….
vor allem würde es mich interessieren, wie ordner mit vielen unterordnern das ganze verlangsamen, wenndie „SearchTopLevelOnly“ option da noch mit drin ist …