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