每当我尝试在目录中显示文件时,程序只会打印 System.String [] 而不是文件。
Console.WriteLine(Directory.GetFiles(@"C:\"));
它真的很烦我,因为我没有找到其他人这个问题。 如果你需要一个解释,我的程序就像是一个像CMD这样的控制台,当我输入“ls”时,就像在linux中它应该显示目录的内容,它没有工作所以我只是直接把@“C: /“进入GetFiles但它仍然无效。 谢谢你的帮助。
答案 0 :(得分:4)
每当您看到Type name作为输出时,就会在没有有意义的字符串表示的对象上调用ToString()方法。
GetFiles()的结果不是string
,而是string[]
。
Console.WriteLine(string.Join("\r\n", Directory.GetFiles(@"C:\")));
答案 1 :(得分:0)
有多个文件(可能),因此您需要一个循环:
foreach(var file in Directory.GetFiles(@"C:\"))
{
Console.WriteLine(file);
}
答案 2 :(得分:0)
您无法直接打印String[]
,但必须对数组中的每个元素进行迭代才能打印出来。
string [] subdirectoryEntries = Directory.GetDirectories(@"C:\");
foreach(string subdirectory in subdirectoryEntries)
Console.WriteLine("Processed file '{0}'.", subdirectory);