基于documentation on MSDN for DirectoryInfo.EnumerateFiles
,该过程涉及:
DirectoryInfo
EnumerateFiles
方法检索文件有一些基础类可以检索此信息,例如FileInfo
依赖于FileSystemInfo
。
DirectoryInfo DR = new DirectoryInfo(@"C:\temp\Downloads");
foreach(FileInfo FF in DR.EnumerateFiles())
{
textBox1.Text += FF.ToString()+ "\r\n";
}
FileInfo
我可以重新编码
直接?List<T>
,我将如何重新编码? 由于
答案 0 :(得分:1)
var list = DR.EnumerateFiles().ToList();
答案 1 :(得分:0)
并不是很清楚你想要做什么,但是,你可以在使用它之前'声明它',通过以下方式:
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();