C# C当我没有创建类型时,如何访问此泛型列表?
我已经完成了第一部分,这是正确的。我的列表以文件名[288]结尾,在“我的本地人”窗口中我有一个值。这是一份清单。我没有创建类型,所以我不知道如何访问它。我知道这是一个字符串的通用列表,所以我导入了System.Collections.generic.list,但我似乎无法理解它C# C当我没有创建类型时,如何访问此泛型列表?,c#,list,C#,List,我已经完成了第一部分,这是正确的。我的列表以文件名[288]结尾,在“我的本地人”窗口中我有一个值。这是一份清单。我没有创建类型,所以我不知道如何访问它。我知道这是一个字符串的通用列表,所以我导入了System.Collections.generic.list,但我似乎无法理解它 var fileName = new DirectoryInfo(text) .GetFiles(".", SearchOption.AllDirectories) .Select(x => x.Na
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].?)
}
因为最后一次选择返回字符串x。名称的类型为字符串
那么fileName是List类型,您不需要任何其他方法:
Console.WriteLine("Filename: {0}", fileName[i]);
我建议您在foreach.Net的帮助下摆脱for循环并让其为您工作:
// 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
编辑:请注意,我们不需要。在foreach的情况下列出-我们只需要枚举名称,而不将其保存到任何集合中,比如列表。为什么不只是文件名[i]?。Selectx=>x。名称:因为x是字符串类型,所以Console.WriteLineFilename:{0},在写入文件名[i]时文件名[i]。IntelliSense为您提供字符串的所有选项。在本例中,您只需执行fileName[i],因为这是您可能需要的数据。另外,你不应该复制你不懂的粘贴代码。@Camilo Terevinto-我知道,但我做同样事情的代码大约是60行,而不是3行。我一直在努力使它更好,至少现在我知道我真的需要学习泛型。是的,如果你不了解c中的泛型,你不会走得很远。他们很好地解释了基本原理
// 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