Hi,
ich versuche gerade alle Ordner aufzulisten, die lediglich MP3 Dateien enthalten, auch für die Unterordner.
Sodass wenn ich dann auf C: im Treeview drücke, das dann nur diese Ordner samt Unterordner und Dateien angezeigt werden.
Soweit funktioniert es mit diesem Code:
Allerdings dauert es ewig (ca. 20 bis 30 Sekunden).
Gibt es eine schnellere, elegantere Möglichkeit?
Danke Euch
ich versuche gerade alle Ordner aufzulisten, die lediglich MP3 Dateien enthalten, auch für die Unterordner.
Sodass wenn ich dann auf C: im Treeview drücke, das dann nur diese Ordner samt Unterordner und Dateien angezeigt werden.
Soweit funktioniert es mit diesem Code:
C#-Quellcode
- public static List<DirectoryItem> GetFilesFolders(this string path)
- {
- var items = new List<DirectoryItem>();
- if (!Directory.Exists(path)) return new List<DirectoryItem>();
- foreach (var dir in Directory.GetDirectories(path))
- {
- try
- {
- if (Directory.GetFiles(dir, "*.mp3", SearchOption.AllDirectories).Count() > 0)
- items.Add(new DirectoryItem { FullPath = dir, Type = DirectoryItemTypeEnum.Folder });
- }
- catch (UnauthorizedAccessException)
- {
- continue;
- }
- }
- foreach (var file in Directory.GetFiles(path, "*.mp3"))
- {
- items.Add(new DirectoryItem { FullPath = file, Type = DirectoryItemTypeEnum.File });
- }
- return items;
- }
Allerdings dauert es ewig (ca. 20 bis 30 Sekunden).
Gibt es eine schnellere, elegantere Möglichkeit?
Danke Euch
"Hier könnte Ihre Werbung stehen..."