使用System.IO.Directory.GetFiles()
,我想查找位於NAS服務器上的圖像.png
擴展名。Directory.GetFiles()性能問題
string searchingString = "ZLLK9";
// original
var fileList1= Directory.GetFiles(directoryPath).Select(p => new FileInfo(p)).Where(q => q.Name.Substring(0, q.Name.LastIndexOf('.')).Split('_').First() == searchingString);
// fixed
var fileList2 = Directory.GetFiles(directoryPath, string.Format("{0}_*.png", searchingString));
有兩種方法可以找出包含「ZLLKK9」單詞的文件。
使用LINQ的第一種「原始」方法對於找出文件來說太慢了。 性能問題已經出現,但我不知道「固定」方式有什麼不同?
我需要幫助以便仔細瞭解兩種方式的區別。
您爲什麼認爲這兩種方法之間存在顯着差異? – Tim
如果您試圖找出文件是否包含'.png'擴展名,那麼爲什麼不做一些更容易的操作。 var fi = new DirectoryInfo(directoryPath).GetFiles()。Where(f =>(f.FullName.EndsWith 「.png」)))ToArray();' – MethodMan