3
我有名单,如果文件名称(不是路径)在List<string>
。我必须找到不存在于目录中的文件的List<string>
。查找文件名不存在的目录中
现在我正在逐个迭代文件,并检查它们中的每一个文件夹中的所有文件。
是否有任何LINQ的方式同一件事?
我有名单,如果文件名称(不是路径)在List<string>
。我必须找到不存在于目录中的文件的List<string>
。查找文件名不存在的目录中
现在我正在逐个迭代文件,并检查它们中的每一个文件夹中的所有文件。
是否有任何LINQ的方式同一件事?
取决于你有多少名的列表中有(有多少文件在目的地),你可能会发现,迭代的方法仍然是最有效的(但有一些LINQ增强功能):
var missingFiles = names.Where(x => !File.Exists(x));
您可以使用Enumerable.Except像:
List<string> compareList = new List<string>();
//.... items in the list
DirectoryInfo di = new DirectoryInfo("C:\\");
var fileArray = di.GetFiles().Select(r => r.Name).ToArray();
var filesNotPresent = compareList.Except(fileArray);