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);
每当我尝试显示目录中的文件时,程序只打印 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);