我已经完成了第一部分,并且可以正常工作。我的列表以fileName[288]
结尾,并且在本地窗口中有一个“值”。这是一个清单。我没有创建类型,所以我不知道如何访问它。我知道这是一个通用的字符串列表,因此我导入了S ystem.Collections.Generic.List
,但似乎无法弄清楚。
var fileName = new DirectoryInfo(text)
.GetFiles(".", SearchOption.AllDirectories)
.Select(x => x.Name)
.ToList();
for (var i = 0; i < fileName.Count; i++)
{
Console.WriteLine("Filename: {0}", fileName[i].?)
}
答案 0 :(得分:1)
由于 last Select
返回string
(x.Name
的类型为string
)
...
.Select(x => x.Name) // select string(s)
.ToList(); // materialize them into a list
然后fileName
的类型为List<string>
,并且您不需要任何其他方法:
Console.WriteLine("Filename: {0}", fileName[i]);
我建议您摆脱for loop
,让(在foreach
的帮助下).Net为您服务:
// we have (potentially) many files' names - let use "fileNames" - plural
var fileNames = new DirectoryInfo(text)
.GetFiles(".", SearchOption.AllDirectories)
.Select(x => x.Name);
foreach (var name in fileNames)
Console.WriteLine($"Filename: {name}"); // string interpolation for readability
编辑:请注意,在.ToList()
的情况下,我们不需要foreach
-我们想要的只是枚举名称而不将它们保存到任何集合中(例如List<string>
)。