因此,我得到了使用 System.IO 目录的文件列表:
var srcFiles = Directory.GetFiles(remotePath);
我还有一个逗号分隔的字符串列表,我想检查每个字符串在上述文件的名称中是否不存在。例如:
string[] filterOn = EndPoint.FileNameDoesNotContainFilter.Split(',').ToArray();
给了我以下数组:
filterOn contains ["GoodFile", "EvenBetterFile"]
现在,没有这两个字符串中的任何一个的文件将替换上面 srcFiles 列表中当前的所有文件(或者一个新列表,如果这更有意义的话)。我试图用 LINQ 做到这一点,但不能完全做到。它是如何完成的?
编辑:@dvo 的答案给了我正确的文件,但是,有时过滤器字符串包含在传入的 remotePath 中。
典型路径/文件:C:\TEMP\APPS\AMS\Services\sc0189v\APPS\GoodFile\test.txt。
如您所见,“GoodFile”在路径中,但不在文件名中。然而这个文件应该被拒绝。我想我正在 System.IO.Directory 中寻找可能有帮助的东西。不确定,真的。