c# - 当我没有创建类型时,C# 如何访问这个通用列表?
问题描述
我已经完成了第一部分并且工作正常。我的列表以 As 结尾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].?)
}
解决方案
由于最后 Select
返回string
(x.Name
是 类型string
)
...
.Select(x => x.Name) // select string(s)
.ToList(); // materialize them into a list
thenfileName
是类型List<string>
,您不需要任何其他方法:
Console.WriteLine("Filename: {0}", fileName[i]);
我建议摆脱并让(在.Netfor loop
的帮助下)为您工作:foreach
// 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>
推荐阅读
- python - '_csv.writer' 对象不可迭代。如何追加到csv文件
- terraform - 资源定义语法中的 Terraform 列表令人头疼
- swift - Cocoaasyncsocket 问题,GCDAsyncSocket 连接问题
- python - Python将变量分配给MYSQL查询的正确方法?
- c# - 设置中的 FilePath 定位器?
- powershell - 哈希表中的解释点
- django - 错误:这些包与需求文件中的哈希不匹配。更新 Django 时
- javascript - 使用 JSON 函数读取/解析数据的正确方法
- scala - 在 Quarkus Scala 中注入属性作为选项
- java - 如何在checkstyle的“excludedClasses”中设置默认+自己的类