gpt4 book ai didi

c# - 这是 DirectoryInfo.GetDirectories(string searchPattern) 中的错误吗?

转载 作者:可可西里 更新时间:2023-11-01 08:46:36 25 4
gpt4 key购买 nike

调用DirectoryInfo.GetDirectories(".")时在指向有效文件夹(不包括驱动器根目录)的 DirectoryInfo 类的实例上,结果是一个 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)"

这是一个 BEAST,我不想在脑海中走一遍逻辑。恕我直言,这显然是一个错误。

仅供引用 - 在有人询问之前,“*”按预期工作。

最佳答案

我可以证实你所说的,但看不到任何合理的解释,所以我投票给BUG

我也这么认为,我submitted it微软

关于c# - 这是 DirectoryInfo.GetDirectories(string searchPattern) 中的错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/250834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com