我想從多個文件夾中獲取.mp3
文件。LINQ嵌套列表理解從幾個文件夾中獲取文件
我已經可以做到這一點對一個文件夾,通過這個查詢:
this.MusicList.ItemsSource =
from string fileName in Directory.GetFiles(@"C:\Users\Public\Music\Sample Music")
where System.IO.Path.GetExtension(fileName) == ".mp3"
select new FileInfo(fileName);
是否有任何其他的方式做它的目錄列表?
這裏是我到目前爲止已經試過(不返回任何結果):
var paths = new Dictionary<string, string> {
{"default_music", @"C:\Users\Public\Music\Sample Music"},
{"alternative_folder", @"C:\tmp"}
};
this.MusicList.ItemsSource =
from string fileName in (from string directoryName in paths.Values select Directory.GetFiles(directoryName))
where System.IO.Path.GetExtension(fileName) == ".mp3"
select new FileInfo(fileName);
from string directoryName in paths.Values select Directory.GetFiles(directoryName);
返回與我的路徑{System.Linq.Enumerable.WhereSelectEnumerableIterator<string,string[]>}
在其source
場及其Result View
包含我.mp3
文件。
謝謝
完美地工作。 (我會在10分鐘內接受) – rxdazn 2013-03-06 16:15:56
'Directory.GetFiles'有一個超載,帶一個'searchPattern',你應該用它來過濾: 'Directory.GetFiles(@「C:\ Users \ Public \ Music \ Sample音樂「,」* .mp3「);' – 2013-03-06 16:17:28