Может ли System.IO.Directory.GetFiles () искать с несколькими строками поиска?

Я хочу найти все файлы, заканчивающиеся на .vcproj или .sln в каталоге. Мне не ясно, из документов, если searchPattern может указать несколько фильтров или если мне придется запускать отдельные поисковые запросы.

1
добавлено отредактировано
Просмотры: 2
nl ja de
@Dhawalk: Хорошее использование LINQ в принятом ответе на этот вопрос, хотя LINQ недоступен в среде .NET 2.0.
добавлено автор Eric J., источник
@Dhawalk: Хороший комментарий, потому что другие, которые могут найти этот вопрос, могут не ограничиваться .NET 2.
добавлено автор Eric J., источник
вот ссылка на аналогичный вопрос
добавлено автор Dhawalk, источник
моя вина. Я пропустил это ... спасибо
добавлено автор Dhawalk, источник

2 ответы

Нет, вы можете указать только один фильтр.

You can add the result of each search to a HashSet to get a unique list of files matching both searches. A List would not work in edge cases where two different wildcard search patterns can match the same file.

ОБНОВИТЬ

HashSet is only available in .NET 3.5 and later. Since you are using 2.0, you could use a List, but you should check if each item already exists before adding it.

4
добавлено

Для GetFiles() вы можете использовать 1 вариант фильтра. Вы получаете их отдельно.

string[] file1 = System.IO.Directory.GetFiles(path, "*.vcproj");
string[] file2 = System.IO.Directory.GetFiles(path, "*.sln ");
1
добавлено