2016-05-27 16 views
-1

このクエリを3.5フレームワークで使用する方法は次のとおりです。私のフレームワークを変えることはできないので、私を助けてください。私はあなたにとても感謝しています。EnumerateFilesを3.5フレームワークで使用する方法

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

Error2 'System.IO.File'に 'ReadLines'の定義がありません –

+0

あなたの返信に感謝します:) –

+1

ReadAllLines :) –

関連する問題