GetDirectories返回一个字符串c#

时间:2016-05-24 15:36:05

标签: c# directory subdirectory getdirectories

您好我目前在获取目录期间如下:

dirs = Directory
  .GetDirectories(@"C:\Users\jphillips\Desktop\test", "*", SearchOption.AllDirectories)
  .Where(Path => reg.IsMatch(Path))
  .ToList();

有了这个,我可以过滤目录中的所有子目录,并使用我在下面提供的正则表达式过滤我想要的那些:

Regex reg = new Regex(@"\d+(\.\d+)+");

我的问题在于我的新目录路径字符串列表。我想在它们上使用目录信息函数,例如Parent,并获取这些目录的目录。有没有办法将我的字符串路径转换为directyinfo类型。谢谢!

3 个答案:

答案 0 :(得分:4)

您可以为根路径创建$('#el').append('<span />'),并使用该路径而不是路径:

DirectoryInfo

答案 1 :(得分:1)

您可以使用DirectoryInfo类执行此操作,并将DirectoryInfo.Name属性提供给正则表达式而不是整个DirectoryInfo实例。

DirectoryInfo di = new DirectoryInfo(@"C:\Temp");
DirectoryInfo[] subDirectories = di.GetDirectories().Where(d => reg.IsMatch(d.Name));

答案 2 :(得分:0)

好吧,因为Directory.GetDicrectories返回一个字符串数组,你可以做的是在你的LINQ语句中添加一个select

 dirs = Directory.GetDirectories(@"C:\Users\jphillips\Desktop\test", "*",
        SearchOption.AllDirectories).Where(Path => reg.IsMatch(Path)).Select(x => new
        DirectoryInfo(x)).ToList();