2014-01-27 4 views
0

Я хочу написать простую функцию, которая должна проверить, является ли файл в указанном словаре, который должен использовать рекурсивный способ проверитьПожалуйста, помогите мне уточнить код простой функции

Функция проста, но мой код выглядит глупо.

Можете ли вы помочь мне уточнить код немного более красивый ...

private bool SearchFileInFolder(string baseURL, string fileName) 
    { 
     bool result = true; 
     List<string> dictionaries = new List<string>(Directory.GetDirectories(baseURL)); 
     foreach (string dic in dictionaries) 
     { 
      if (File.Exists(dic + Path.DirectorySeparatorChar + fileName)) 
       result = false; 
      else 
       result = SearchFileInFolder(dic, fileName); 
     } 

     return result; 
    } 

Могу ли я использовать Parallel.ForEach сделать функцию более эффективной? Но функция является рекурсивной функцией, поэтому ....

+5

Почему вы считаете это глупым? – Liel

+4

FWIW, я бы переименовал словари в «каталоги» - это будет запутывать быстро. :) –

+0

Не настоящая проблема! – rendon

ответ

4

Вы можете использовать этот перегруженный метод:

public static string[] GetFiles(
    string path, 
    string searchPattern, 
    SearchOption searchOption 
) 

Вы можете дать возможность поиска во всех подкаталогах, таким образом, вы не должны сделайте это вручную.

Смежные вопросы