查询文件夹中的文件的内容 (LINQ)

using System.IO;
class QueryContents
{
    public static void Main()
    {
        // Modify this path as necessary.
        string startFolder = @"c:\program files\Microsoft Visual Studio 9.0\";

        // Take a snapshot of the file system.
        DirectoryInfo dir = new DirectoryInfo(startFolder);

        // This method assumes that the application has discovery permissions
        // for all folders under the specified path.
        IEnumerable<System.IO.FileInfo> fileList = dir.GetFiles("*.*", SearchOption.AllDirectories);

        string searchTerm = @"Visual Studio";

        // Search the contents of each file.
        // A regular expression created with the RegEx class
        // could be used instead of the Contains method.
        // queryMatchingFiles is an IEnumerable<string>.
        var queryMatchingFiles =
            from file in fileList
            where file.Extension == ".htm"
            let fileText = GetFileText(file.FullName)
            where fileText.Contains(searchTerm)
            select file.FullName;

        // Execute the query.
        Console.WriteLine("The term \"{0}\" was found in:", searchTerm);
        foreach (string filename in queryMatchingFiles)
        {
            Console.WriteLine(filename);
        }

        // Keep the console window open in debug mode.
        Console.WriteLine("Press any key to exit");
        Console.ReadKey();
    }

    // Read the contents of the file.
    static string GetFileText(string name)
    {
        string fileContents = String.Empty;

        // If the file has been deleted since we took 
        // the snapshot, ignore it and return the empty string.
        if (File.Exists(name))
        {
            fileContents = System.IO.File.ReadAllText(name);
        }
        return fileContents;
    }
}

转载于:https://www.cnblogs.com/QIAOYIJUN/archive/2013/05/02/3054073.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
难得的学习LINQ文资料,很全很详细,包内包括两个文档: 一个是语言集成查询.pdf,内容简介如下: 1.LINQ 简介 简要介绍可编写的各种应用程序,以及使用 LINQ 查询可以解决的各种问题。 2.C# LINQ 入门 描述为理解 C# 文档和示例所应了解的基本情况。 3.Visual Basic LINQ 入门 描述为理解 Visual Basic 文档和示例所应了解的基本情况。 4.如何:创建 LINQ 项目 介绍生成 LINQ 项目所需的 .NET Framework 版本、引用和命名空间。 5.对 LINQ 的 Visual Studio IDE 和工具支持 描述对象关系设计器、对查询的调试器支持以及其他与 LINQ 相关的 IDE 功能。 6.LINQ 常规编程指南 提供了指向相关主题的链接,这些主题包含有关如何使用 LINQ 进行编程的信息,例如标准查询运算符、表 达式目录树和查询提供程序。 7.LINQ to Objects 包含指向相关主题的链接,这些主题说明如何使用 LINQ to Objects 来访问内存的数据结构。 8.LINQ to XML 包含指向说明如何使用 LINQ to XML 的主题的链接,此功能可提供文档对象模型 (DOM) 的内存文档修改 功能,并且支持 LINQ 查询表达式。 9.LINQ to ADO.NET(门户页) 提供 <token>linq_dataset</token> 和 <token>vbtecdlinq</token> 相关文档的入口点。 LINQ to DataSet 使您可以通过使用为其他数据源提供的相同查询功能,在 DataSet 加入更丰富的查询功能。 LINQ to SQL 为将关系数据作为对象进行管理提供了运行时基础结构。 10.补充的 LINQ 资源 指向 LINQ 相关信息的其他联 另一个是LINQ to ADO.net.pdf 描述linq如何与ado.net结合使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值