如何过滤掉C#中的文件夹名称?

时间:2012-05-08 17:53:22

标签: c# .net string filter directory

我有代码搜索目录并挑选出所有文件夹,但我只希望它选择那些以数据开头的文件夹。我该怎么做?

以下是我通过目录的代码:

    string[] filePaths = Directory.GetDirectories(defaultPath).Where(Data => !Data.EndsWith(".")).ToArray();

2 个答案:

答案 0 :(得分:10)

无需使用LINQ; GetDirectories支持搜索模式,并且可能明显更快,因为过滤可能由文件系统枚举.NET中的结果之前完成。

string[] filePaths = Directory.GetDirectories(defaultPath, "Data*");

请注意,*是一个匹配零个或多个字符的通配符。

答案 1 :(得分:1)

如果“以数据开头”,您只是指文件夹名称以“数据”开头,这将起作用

string[] filePaths = Directory.GetDirectories(defaultPath)
    .Where(s => s.StartsWith("Data") && !s.EndsWith(".")).ToArray();