@estry

Как получить список файлов за исключением находящихся в черном списке C#?

Привет. Написал метод для получения случайного файла из директории. Как доработать метод, чтобы не брались файлы находящейся в черном списке blacklist?
Реализовать с помощью Linq хотел

List<string> blacklist = new List<string>() 
{ 
	@"e:\Wallpapers\1.jpg",  
	@"e:\Wallpapers\2.jpg", 
	@"e:\Wallpapers\3.jpg"
};

string file = null;
string path = @"e:\Wallpapers\";
if (!string.IsNullOrEmpty(path))
{
   var extensions = new string[] { ".png", ".jpg", ".gif" };
   try
   {
       var di = new DirectoryInfo(path);
       var rgFiles = di.GetFiles("*.*", SearchOption.AllDirectories).Where(f => extensions.Contains(f.Extension.ToLower()));
       Random R = new Random();
       file = rgFiles.ElementAt(R.Next(0,rgFiles.Count())).FullName;
   }
   // probably should only catch specific exceptions
   // throwable by the above methods.
   catch {}
}
return file;
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
serafimprozorov
@serafimprozorov
Люблю Erlang....
Очевидно, так:

var rgFiles = di.GetFiles("*.*", SearchOption.AllDirectories)
    .Where(f => extensions.Contains(f.Extension.ToLower()))
    .Where(f => !blacklist.Contains(f.FullName);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
1. Взять случайный файл
2. Если он из чёрного списка то п.1
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ЭЛКОМ+ Москва
от 70 000 до 165 000 ₽
deeplay Новосибирск
от 130 000 до 200 000 ₽
от 3 500 до 4 000 $
17 янв. 2021, в 08:35
50000 руб./за проект
17 янв. 2021, в 01:26
100000 руб./за проект
16 янв. 2021, в 22:34
10000 руб./за проект