@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;
  • Вопрос задан
  • 85 просмотров
Решения вопроса 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
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы