1

こんにちは、私は現在次のようにディレクトリを取得しています:

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

これにより、ディレクトリ内のすべてのサブディレクトリをフィルタリングし、以下に示す正規表現で必要なものをフィルタリングできます。

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

私の問題は、ディレクトリ パスの文字列の新しいリストにあります。Parent などの directoryinfo 関数を使用して、それらのディレクトリのディレクトリを取得したいと考えています。文字列パスを directyinfo 型に変換する方法はありますか? ありがとう !

4

3 に答える 3

1

これを行うには、DirectoryInfo クラスを使用するだけで、DirectoryInfo インスタンス全体ではなく、DirectoryInfo.Name プロパティを正規表現にフィードできます。

DirectoryInfo di = new DirectoryInfo(@"C:\Temp");
DirectoryInfo[] subDirectories = di.GetDirectories().Where(d => reg.IsMatch(d.Name));
于 2016-05-24T15:40:59.530 に答える