LINQ IN, где запрос - PullRequest
       4

LINQ IN, где запрос

0 голосов
/ 02 июля 2018

Я хочу написать цикл foreach, чтобы получить все файлы с указанным расширением из внешнего файла txt. Например у меня в файле переменная: extensions = "jpg,tif,bmp,png" или extensions "jpg,tif" и я хочу получить только эти файлы.

Пока что у меня есть что-то подобное, но я не знаю, как дальше.

extensions = Extensions.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string sourceFile in Directory.GetFiles(SourcePath, "*.*", SearchOption.AllDirectories).Where(s => s.EndsWith(extensions.)))
{
}

Я не знаю, как добраться до каждого элемента в массиве расширений. Как я могу решить это?

1 Ответ

0 голосов
/ 02 июля 2018

Вы можете использовать Enumerable.Contains и System.IO.Path.GetExtension:

string[] extensions =  {".jpg",".tif",".bmp",".png" };
var files = Directory.EnumerateFiles(SourcePath, "*.*", SearchOption.AllDirectories)
     .Where(s => extensions.Contains(Path.GetExtension(s), StringComparer.InvariantCultureIgnoreCase));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...