2016-05-27 2 views
-1

У меня есть следующий вопрос, как использовать этот запрос в 3.5 framework. потому что я не могу изменить свою структуру, пожалуйста, помогите мне. Я очень благодарен вамкак EnumerateFiles использовать в 3.5 framework

var files = from file in Directory.EnumerateFiles(path, "*.xml", SearchOption.AllDirectories) 
           from line in File.ReadLines(file) 
           where line.Contains("2016-05-09 10:31:28:000 +0100") 
           select new 
           { 
            File = file, 
            Line = line 
           } 

;

ответ

1

Согласно documentation on msdn, EnumerateFiles доступен с .NET Framework 4.0.

Вы должны заменить его Directory.GetFiles:

var files = from file in Directory.GetFiles(path, "*.xml", SearchOption.AllDirectories) 
      from line in File.ReadLines(file) 
      where line.Contains("2016-05-09 10:31:28:000 +0100") 
      select new 
      { 
       File = file, 
       Line = line 
      } 

Вам нужно только быть в курсе разницы - GetFiles не лень, поэтому он будет искать и загружать все файлы пути сразу в массив, будет запрашиваться через linq.

+0

Ошибка2 'System.IO.File' не содержит определения для 'ReadLines' –

+0

спасибо за вашу replty :) –

+1

ReadAllLines :) –