如何在3.5框架中使用EnumerateFiles

时间:2016-05-27 06:36:25

标签: c# winforms linq linq-to-xml

我有以下查询如何在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 个答案:

答案 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查询的数组中。