2016-11-01 29 views
0

在這種方法中,如何獲得搜索模式的相反結果?

string[] list1 = new DirectoryInfo(HFilepath).GetFiles("Not") 
       .Where(f => !f.Attributes.HasFlag(FileAttributes.Hidden)) 
       .Select(f => f.Name) 
       .ToArray(); 

我能得到的文件的名字開始與像「不」使用searchPattern,但我真的想只是文件的文件不符合「NOT」。如何開始這樣做採用DirectoryInfo方法。

+1

「*,但我真的想除了這些文件的文件開頭不是‘NOT’*」 所以......你想要那些不以?開頭的?這將等於你已經寫在那裏的GetFiles(「Not」)' –

+0

然後你已經完成了,因爲這段代碼完全符合你的要求。 –

+3

'.GetFiles() .Where(f =>!Path.GetFileName(f.Name).StartsWith(「NOT」,StringComparison.OrdinalIgnoreCase))' –

回答

0

看來你必須手動篩選出的文件的名字:

string[] list1 = new DirectoryInfo(HFilepath) 
    .GetFiles() 
    .Where(f => !Path 
     .GetFileName(f.Name) 
     .StartsWith("NOT", StringComparison.OrdinalIgnoreCase)) 
    .Where(f => !f.Attributes.HasFlag(FileAttributes.Hidden)) 
    .Select(f => f.Name) 
    .ToArray(); 
相關問題