@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
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы