Использование c # .NET 4.6.1 У меня есть группа строк, которые я хочу использовать для выбора «допустимых» файлов из данного каталога.Вот что я имею в виду:
Вот пример строк, которые я хочу использовать для получения ожидаемых имен файлов из каталога, который хранится в массиве.Мне все равно, хранятся ли значения в массиве, списке или какой-либо другой коллекции.Я могу поместить их в любую коллекцию, которая лучше всего подойдет для поиска имен файлов, которые я хочу.
//"ValidValues" doesn't have to be an array,
//it can be a list/array/datatable or some other kind of collection
string[] ValidValues = new string[2] {"ab","cd"};
Файлы в каталоге:
file_1_.txt
file_ab_.blah
file_2_.something
file_cd_.blo
и т. Д.
Я хочу найти имена файлов вкаталог, использующий коллекцию ValidValues
, которая содержит строки, которые я хочу использовать в качестве критерия поиска.В прошлом я получал имена файлов из каталога, используя это:
string[] ValidFiles = Directory.GetFiles(@"C:\Drop");
Но я не знаю, как указать фильтр, который использует значения, содержащиеся в коллекции, для поиска в именах файлов вкаталог.Я знаю, что есть лямбда-выражения, которые могут это сделать, но я не совсем уверен, как их использовать.После запуска кода, который я ищу, я ожидаю получить
file_ab_.blah
и
file_cd_.blo
в ValidFiles
.
Я видел несколько постов, в которых критерии поиска жестко закодированы и разделены знаком "||"или другие, где коллекция строк поиска проходит циклически, но я хочу сделать это динамическим, используя ValidValues
, чтобы найти в моем каталоге имена файлов, которые содержат любое из значений в ValidValues
.Я получаю строки, содержащиеся в ValidValues
, из базы данных.
Надеюсь, это имеет смысл, у меня есть сильное чувство, что это можно сделать, я просто не знаю точный синтаксис для достижения этой цели.Мне все равно, как это сделать, используя LINQ или что-то еще, я просто хочу самый элегантный и эффективный метод.Если возможно, я бы хотел избежать зацикливания набора строк, которые я получаю из базы данных, и вместо этого использовать набор строк, которые я выбираю из базы данных, в качестве критерия поиска в одном выражении, возможно, используя что-то вроде лямбда-выражения или чего-то подобногои тому подобное.Заранее спасибо.