我有以下查询如何在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
}
答案 0 :(得分:1)
根据documentation on msdn,自.NET Framework 4.0以来,EnumerateFiles可用。
您需要将其替换为 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查询的数组中。