System.IO.Directory.GetFiles()可以搜索多个搜索字符串吗?

时间:2013-01-09 15:20:32

标签: c# visual-studio-2005 .net-2.0

我想在目录中搜索所有以.vcproj.sln结尾的文件。如果searchPattern可以指定多个过滤器,或者我必须运行单独的搜索,那么我从文档中就不清楚了。

2 个答案:

答案 0 :(得分:4)

不,您只能指定一个过滤器。

您可以将每个搜索的结果添加到HashSet<string>,以获得与这两个搜索匹配的唯一文件列表。 List<string>在两种不同的通配符搜索模式可以匹配同一文件的边缘情况下不起作用。

更新

HashSet<T>仅适用于.NET 3.5及更高版本。由于您使用的是2.0,因此可以使用List<T>,但在添加之前应检查每个项目是否已存在。

答案 1 :(得分:1)

对于GetFiles(),您可以使用1个过滤器选项。你应该单独购买它们。

string[] file1 = System.IO.Directory.GetFiles(path, "*.vcproj");
string[] file2 = System.IO.Directory.GetFiles(path, "*.sln ");