我想查询一个目录,我只想从目录文件中收集哪些是基于文本的文件。 (CSV,TXT,INI)
我打算忽略的其他文件类型。
我正在尝试使用Directory.GetFiles
在一个查询中执行此操作,如果我一次查询一种文件类型,则可以查找。我想在一个查询中执行此操作。
这适用于仅接受TXT文件:
var sourceFolderContents = Directory.GetFiles(folder).ToList().Where(x => x.Split('.').Last().ToUpper().Equals("TXT"));
但是如何向此添加AND'CSV'和'INI',以便sourceFolderContents中包含CSV,TXT和INI文件列表?
答案 0 :(得分:1)
var extensions = new string[]{".TXT",".CSV",".INI"};
var sourceFolderContents = Directory.GetFiles(folder)
.Where(f=>extensions.Contains(Path.GetExtension(f).ToUpper()))
.ToList();
注意:使用GetFiles
时,您应该考虑使用SetAccessControl
设置权限,否则在某些情况下可能会有一些未经授权或访问被拒绝的异常。