c#, . getdirectories(字符串文件)检索目录问题

本文关键字:检索 问题 文件 getdirectories 字符串 | 更新日期: 2023-09-27 18:16:48

我正在尝试检索我传入的路径的子目录。它处理它并给我一半的子目录,但对于另一半,它在调试时返回"?"。我不知道是什么原因造成的以下是我的文件:

 string root = @"C:'Users'Documents'Meta Consumer";
 string[] subDir = Directory.GetDirectories(root);
调试时

:

1:(好)

2:(好)

3:(好)

. . . .

?

?:(15 is here)

. . . .

?:

c#, . getdirectories(字符串文件)检索目录问题

我不确定整个目标,如果您打算专门搜索特定项目或打算操作目录。我看到的一件事是你没有为你的数组指定任何额外的搜索。我相信这可以通过深度嵌套或权限问题来阻止。

解决方案一:确保您具有在指定目录内执行递归搜索的有效权限。

解决方案二:您可以尝试对所有带有通配符的项目进行搜索,然后强制它搜索所有目录。这可能有助于解决您可能遇到的潜在的深度嵌套问题。

分辨率三:尝试下面的代码;看看是否能解决问题。

string root = Environment.GetFolderPath(Environment.SpecialFolder.Documents);
string[] subDir = Directories.GetDirectories(root, "*", SearchOption.AllDirectories);
foreach (string s in subDir)
{
     Console.WriteLine(s);
}

看看它是否返回了正确的信息。有文件夹位于你的,虽然被认为是公共的用户仍然锁定,因为它们驻留在用户配置文件,所以权限将是一个很好的检查。

以管理员身份运行Visual Studio也将有助于您的故障排除。此外,您应该看看是否有任何Inner Exceptions,以帮助识别它。