如何使用DirectoryInfo.EnumerateFiles
本文关键字:EnumerateFiles DirectoryInfo 何使用 | 更新日期: 2023-09-27 18:06:01
根据DirectoryInfo.EnumerateFiles
的MSDN文档,该过程包括:
- 用路径 声明
- 使用
EnumerateFiles
方法检索文件
DirectoryInfo
有检索此信息的底层类,例如依赖于FileSystemInfo
的FileInfo
。
DirectoryInfo DR = new DirectoryInfo(@"C:'temp'Downloads");
foreach(FileInfo FF in DR.EnumerateFiles())
{
textBox1.Text += FF.ToString()+ "'r'n";
}
- 我如何重新编码,我可以在使用它之前声明
FileInfo
直接吗? - 如果我要使用
List<T>
,我该如何重新编码? - 如何读取列表可枚举数据?
谢谢
- 你为什么想要?
-
var list = DR.EnumerateFiles().ToList();
这并不是很清楚你想要做什么,但是,你可以在使用它之前声明它,通过做下面的事情:
DirectoryInfo DR = new DirectoryInfo(@"C:'temp'Downloads");
List<string> filePaths = DR.EnumerateFiles();
IEnumerable<FileInfo> fileInfos = filePaths.Select(f => new FileInfo(f));
foreach(FileInfo fileInfo in fileInfos)
{
textBox1.Text += fileInfo.FullName.ToString()+ "'r'n";
}
(也就是说,只需将声明移到foreach循环的之外)
由于EnumerateFiles
返回文件的完整路径,因此您需要从中创建FileInfo
实例,这可以使用为您提供的构造函数来完成。
要做你所说的'list'位,你只需要添加ToList()
, LINQ将为你完成工作:
List<FileInfo> fileInfos = filePaths.Select(f => new FileInfo(f)).ToList();