搜索和删除文件的目录内的最快方法

我有类的数组,其中的一个成员是一个文件的完整路径。 我需要从其中不包括在阵列中的目录中删除所有这些文件。 像往常一样,我现在用的比较convential和删除方法。 我需要知道,如果有任何快速的方法来做到这一点。 我听说它可以使用LINQ来完成,但我没有对LINQ的知识。

我的阶级结构是如下图所示。

Class ImageDetails { public string Title; public Boolean CanShow; public String PathToFile; }

我有ImageDetails的数组。 该PathToFile包含完整路径

}

--------------解决方案-------------

您可以使用除()来处理这个问题:

var filesToDelete = Directory.GetFiles(Path.GetDirectoryName(yourClass.FilePath)).Except(yourClass.TheArray);

为什么你需要比较? 如果你有完整的文件名,然后

File.Delete(fileName);

是你所需要的。 文件IO很可能是这个最慢的部分,所以我不认为LINQ的将太大的差别来表现。

如果该文件可能不存在,然后检查,首先:

if (File.Exists(fileName))
{
File.Delete(fileName);
}

编辑:我明白你的意思,你要删除的文件,如果它不是数组中为止。 我看了你的问题意味着该目录不包括在数组中为止。

尽管如此,实际文件删除可能是此最慢的部分。

分类:C# 时间:2015-03-15 人气:0
本文关键词:
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.786 (s). 10 q(s)