当前位置:  开发笔记 > 编程语言 > 正文

这是DirectoryInfo.GetDirectories(字符串searchPattern)中的错误吗?

如何解决《这是DirectoryInfo.GetDirectories(字符串searchPattern)中的错误吗?》经验,为你挑选了1个好方法。

在DirectoryInfo类的实例上调用DirectoryInfo.GetDirectories(".")时,该实例指向有效文件夹(不包括驱动器根),结果是DirectoryInfo数组,其第一个(也是唯一的)元素指向名为相同的无效目录就其本身而言,低于自身.

例如:

static void Main(string[] args)
{
    DirectoryInfo di = new DirectoryInfo("c:\\temp");
    DirectoryInfo[] dis = di.GetDirectories(".");
    Console.WriteLine(dis[0].FullName);
}

打印出一个不存在的目录:

c:\temp\temp

据我所知,在Windows中,"." 指的是当前目录.如果方法返回"c:\ temp",那对我来说可能是可以接受的,但是返回一个具有相同名称的伪子目录似乎绝对是错误的行为.

我应该可以断言从这个函数返回的任何DirectoryInfo对象实际上都存在....对吗?!

我使用.NET Reflector反编译该类,但它导致了这种方法

internal static string[] InternalGetFileDirectoryNames(string path, string userPathOriginal, string searchPattern, bool includeFiles, bool includeDirs, SearchOption searchOption)"

这是一个野兽,我不想走在脑海中的逻辑.这显然是一个错误恕我直言.

仅供参考 - 在某人要求之前,"*"按预期工作.



1> James Curran..:

我可以确认你说的话,也看不出任何合理的解释,所以我投票给BUG.

我也这么认为,我把它提交给微软

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有