Csharp/C#教程:这是DirectoryInfo.GetDirectories(字符串searchPattern)中的错误吗?分享


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

在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:temptemp 

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

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

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

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

这是一个野兽,我不喜欢在脑海里徘徊。 这显然是一个错误恕我直言。

仅供参考 – 在某人要求之前,“*”按预期工作。

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

我也这么认为,我已将其提交给微软

上述就是C#学习教程:这是DirectoryInfo.GetDirectories(字符串searchPattern)中的错误吗?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/984910.html

(0)
上一篇 2021年12月20日
下一篇 2021年12月20日

精彩推荐