日期:2014-05-20  浏览次数:20836 次

LINQ对文件目录的基本操作
RT,给学习LINQ的新手们一些借鉴。本文主要写了6个文件操作,代码分别贴上。
/*通过函数的形式表现出来*/

        //1、查询指定名称的文件
        private static void FileQuery()
        {
            ///获取"我的文档"的路径
            string directory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            List<FileInfo> files = new List<FileInfo>();
            ///获取文件列表信息
            foreach (var file in Directory.GetFiles(directory))
            {
                files.Add(new FileInfo(file));
            }
            ///查询文件列表信息
            var filevalues = from file in files
                             where file.Extension == ".pdf" && file.Name.IndexOf("报告") > -1
                             orderby file.Name
                             select file;
            ///显示查询结果
            foreach (var f in filevalues)
            {
                Console.WriteLine(f.Name);
            }
        }
             //运行结果:
             /*
             个人述职报告.pdf
             个人述职报告-96.pdf
              WPF程序设计指南(有书).pdf
             */



        //2、查询指定扩展名的文件
        private static void FileExtensionsQuery()
        {
            ///获取"我的文档"的路径
            string directory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            List<FileInfo> files = new List<FileInfo>();
            ///获取文件列表信息
            foreach (var file in Directory.GetFiles(directory))
            {
                files.Add(new FileInfo(file));
            }
            ///按文件扩展名分组
            var fExtensions = from fe in files
                              group fe by fe.Extension into g
                              orderby g.Key
                              select g;
            ///显示查询结果
            foreach (var f in fExtensions)
            {
                foreach (var fi in f)
                {
                    Console.WriteLine(fi.Name);