从文件夹列表中检索一个文件路径的最有效方法

Fab*_*ias -1 c# linq

假设我有一个包含100多个文件夹路径的列表.我想从每个文件夹路径中只检索一个文件路径.这是我正在做或计划这样做的方式:

var Files = new List<String>();
var Directories = Directory.GetDirectories("C:\\Firstfolder\\Secondfolder\\");
Array.ForEach(Directories, D => Files.Add(Directory.GetFiles(D).FirstOrDefault()));
Run Code Online (Sandbox Code Playgroud)

现在,这是最有效的方式吗?因为我的程序每次启动时都会执行此代码.

Sel*_*enç 6

取而代之的Directory.GetFiles使用Directory.EnumerateFiles,以避免加载所有文件路径为从memory.This报价文档解释了区别:

EnumerateFilesGetFiles方法的区别如下:当您使用EnumerateFiles,你可以返回整个集合之前开始枚举名称的集合; 在使用时GetFiles,必须等待返回整个数组,然后才能访问该数组.因此,当您使用许多文件和目录时,EnumerateFiles可以更高效.