Directory.GetFiles无法正常工作并返回错误的值

时间:2015-05-16 12:09:24

标签: c# directory console-application

每当我尝试在目录中显示文件时,程序只会打印 System.String [] 而不是文件。

Console.WriteLine(Directory.GetFiles(@"C:\"));

它真的很烦我,因为我没有找到其他人这个问题。 如果你需要一个解释,我的程序就像是一个像CMD这样的控制台,当我输入“ls”时,就像在linux中它应该显示目录的内容,它没有工作所以我只是直接把@“C: /“进入GetFiles但它仍然无效。 谢谢你的帮助。

3 个答案:

答案 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);

GetFiles in MSDN