我的文件夹包含以下文件:
我需要检查此文件夹中是否存在无关文件,例如,如果我创建 example.file.css 我需要提供错误,那么必须只包含上面列出的文件。所以我创建了所需的文件字符串:
string[] only_these_files = {
"image1.png",
"image2.png",
"image3.png",
"image4.png",
"image5.png"
};
现在我需要搜索无关的文件,但是如何?谢谢。
答案 0 :(得分:2)
使用Directory.GetFiles:
StdCallFunctionMapper
与您允许的文件列表进行比较。
string[] only_these_files = {
"image1.png",
"image2.png",
"image3.png",
"image4.png",
"image5.png"
};
string[] fileEntries = Directory.GetFiles(targetDirectory);
List<String> badFiles = new List<string>();
foreach (string fileName in fileEntries)
if (!only_these_files.Contains(fileName))
{
badFiles.Add(fileName);
}
答案 1 :(得分:0)
这将是我使用lil'LINQ
的实现 var onlyAllowedFiles = new List<string>
{
"image1.png",
"image2.png",
"image3.png",
"image4.png",
"image5.png"
};
var path = "";
var files = Directory.GetFiles(path);
var nonAllowedFiles = files.Where(f => onlyAllowedFiles.Contains(f) == false);
或者,如果您只想检测是否存在非法文件。
var errorState = files.Any(f => onlyAllowedFiles.Contains(f) == false);