c# - Directory.GetDirectories 返回带有 *.* 模式的错误结果

标签 c# .net windows-10

<分区>

假设您有一个包含以下目录的目录:

dontgetme
get.me

如果你使用下面的代码:

string[] directories = Directory.GetDirectories(rootDirectory, "*.*", SearchOption.TopDirectoryOnly);

您希望目录包含:

get.me

但它包含两个目录,这是为什么?

调查 documentation唯一的通配符是 *? 所以它们不应该影响这个。

此外,如果您使用模式 *.,则仅返回 dontgetme 目录;但使用 *.*.*.* 等。两者仍会返回。


以防万一,我在 Windows 10 上使用 .NET 4.6.1 和 C# 6。

最佳答案

你的模式意味着“任何具有任何扩展名的东西”。 没有扩展名“任何扩展名”,因此您匹配所有四个。

您可以尝试将 ?*.?* 作为模式,这样您就可以得到至少有一个字符作为扩展名 名称的模式。

关于c# - Directory.GetDirectories 返回带有 *.* 模式的错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42396913/

相关文章:

c# - F#函数返回值类型错误

c# - 在 XML 中搜索 double 值

c# - 如何比较类型

batch-file - 在批处理脚本中,标签和标签后面出现的文本是否有记录的长度限制?

c# - UWP - 如何将联系人缩略图保存到本地存储?

c# - 如何从自由文本地址确定国家?

c# - 从 int[] 转换为 int*

c# - 在组合框中选择一个项目并将组合框文本设置为不同的?

c# - 以编程方式在 wpf : auto rowheight doesn't seem to work 中填充网格

windows-10 - 如何在 Windows 10 上为 IIS 10 启用 ISAPI DLL?