从目录中获取第一个文件执行指令,并对下一个 C# 执行相同的操作

本文关键字:执行 下一个 操作 指令 获取 第一个 文件 | 更新日期: 2023-09-27 18:36:47

我想对文件夹中的某些文件做一些说明。所以现在我能做的就是对第一个文件执行此操作,并且我想添加完成后对下一个文件执行相同指令的可能性。

这是我用来获取第一个文件的代码

   var imgPath = Directory.GetFiles(Server.MapPath("~/Folder_fact"), "*.pdf").First();
  //instructions here 
  // i want to add here the function to move to the next file 

从目录中获取第一个文件执行指令,并对下一个 C# 执行相同的操作

Directory.GetFiles 返回具有指定模式的所有文件,但通过First调用,您只能获得第一个文件。删除该First,然后循环访问结果

但是,与 MSDN 一样,最好使用 EnumerateFiles 来避免在开始枚举之前加载所有信息。

枚举文件和获取文件方法的区别如下: 当你 使用枚举文件,可以开始枚举名称的集合 在全部藏品归还之前;当您使用 GetFiles 时,您 必须等待返回整个名称数组,然后才能 访问阵列。因此,当您处理许多文件和 目录,枚举文件可以更有效率。

foreach(var file in Directory.EnumerateFiles(Server.MapPath("~/Folder_fact"), "*.pdf"))
{
     // here the variable file is the full pathname to your PDF file....
}
这样怎么样

DirectoryInfo DirInfo = new DirectoryInfo(Server.MapPath("~/Folder_fact"));
var files= from f in DirInfo.EnumerateFiles()
           where f.Extension == ".pdf"
           select f.FullName;
foreach(var file in files)
{
     // do something
}