Directory.GetFiles 不工作并返回错误值

Directory.GetFiles not working and returning wrong value

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

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

这真的很困扰我,因为我还没有发现其他人有这个问题。 如果您需要解释,我的程序应该是像 CMD 这样的控制台,当我键入 "ls" 时,就像在 linux 中一样,它应该显示目录的内容,但它不起作用,所以我只是直接把@"C:/" 放到GetFiles 里还是不行。 感谢您的帮助。

每当您看到类型名称作为输出时,就是对没有有意义的字符串表示形式的对象调用了 ToString() 方法。
GetFiles() 的结果不是 string 而是 string[].

Console.WriteLine(string.Join("\r\n",  Directory.GetFiles(@"C:\")));

有多个文件(可能),因此您需要一个循环:

foreach(var file in Directory.GetFiles(@"C:\"))
{
    Console.WriteLine(file);
}

不能直接打印String[],必须遍历数组中的每个元素才能打印。

string [] subdirectoryEntries = Directory.GetDirectories(@"C:\");

foreach(string subdirectory in subdirectoryEntries)
    Console.WriteLine("Processed file '{0}'.", subdirectory);

GetFiles in MSDN