Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DirectoryInfo.GetDirectory的多模式_C#_String_Linq_Directoryinfo - Fatal编程技术网

C# DirectoryInfo.GetDirectory的多模式

C# DirectoryInfo.GetDirectory的多模式,c#,string,linq,directoryinfo,C#,String,Linq,Directoryinfo,我将能够从响应倍数模式的direcotryInfo数组中找到目录。 我想找到所有文件夹名=cli\uu或=fou\u 我将其编码为: string searchPattern = "cli_*,fou_*"; foreach (DirectoryInfo Dir in dInfo.GetDirectories("*", SearchOption.AllDirectories).Where(s=>searchPattern.Contains(s.ToString().ToLower()))

我将能够从响应倍数模式的direcotryInfo数组中找到目录。 我想找到所有文件夹名=cli\uu或=fou\u

我将其编码为:

string searchPattern = "cli_*,fou_*";

foreach (DirectoryInfo Dir in dInfo.GetDirectories("*", SearchOption.AllDirectories).Where(s=>searchPattern.Contains(s.ToString().ToLower())))
{
.....
}
但我不返回任何目录

有什么想法吗

解决办法是什么

            foreach (DirectoryInfo Dir in dInfo.GetDirectories("*", SearchOption.AllDirectories))
            {
                Match regexOne = Regex.Match(Dir.Name, "cli_*", RegexOptions.IgnoreCase);
                Match regexTwo = Regex.Match(Dir.Name, "fou_*", RegexOptions.IgnoreCase);

                if (!(regexOne.Success) && !(regexTwo.Success))
                {
                    continue;
                }
            }

非常感谢:

您不能用逗号分隔搜索模式来搜索多个目录。您需要使用两种搜索模式调用GetDirectory两次,或者获取所有目录并编写自己的代码来筛选目录。好的,谢谢,我编辑的解决方案正确吗?不要在问题中发布解决方案。相反,将其作为答案发布。可以回答您自己关于StackOverflow的问题:-另外:试试你的代码。星号在正则表达式中不起作用。您可能需要类似Dir.Name.StartsWithcli的内容_