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

C# Directory.GetFiles不工作并返回错误的值,c#,directory,console-application,C#,Directory,Console Application,每当我试图显示目录中的文件时,程序只打印 System.String[]而不是文件 Console.WriteLine(Directory.GetFiles(@"C:\")); 这真的很困扰我,因为我还没有找到其他人有这个问题。 如果你需要解释,我的程序应该是一个类似CMD的控制台,当我输入“ls”时,就像在linux中一样,它应该显示目录的内容,它不工作,所以我直接将@“C:/”放入GetFiles中,但它仍然不工作。 感谢您的帮助。每当您看到类型名作为输出时,都会对没有有意义的字符串表示形

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

Console.WriteLine(Directory.GetFiles(@"C:\"));
这真的很困扰我,因为我还没有找到其他人有这个问题。 如果你需要解释,我的程序应该是一个类似CMD的控制台,当我输入“ls”时,就像在linux中一样,它应该显示目录的内容,它不工作,所以我直接将@“C:/”放入GetFiles中,但它仍然不工作。
感谢您的帮助。

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

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

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

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

不能直接打印
字符串[]
,但必须对数组中的每个元素进行迭代才能打印

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

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

它是字符串的集合,因此您需要遍历
目录.GetFiles