使用迭代器 遍历文件信息的详解


Posted in PHP onJune 08, 2013

1.迭代文件的行

        public static IEnumerable<string> ReadLines(string fileName)
        {
            using (TextReader reader = File.OpenText(fileName))
            {
                string line;
                if ((line = reader.ReadLine()) != null)
                {
                    yield return line;
                }
            }
        }
        static void Main()
        {
            foreach (string line in Iterator.ReadLines(""))
            {
                Console.WriteLine(line);
            }
        }

2.使用迭代器和谓词对文件中的行进行筛选
       public static IEnumerable<T> where<T>(IEnumerable<T> source, Predicate<T> predicate)
        {
            if (source == null || predicate == null)
            {
                throw new ArgumentNullException();
            }
            return WhereImplemeter(source, predicate);
        }
       private static IEnumerable<T> WhereImplemeter<T>(IEnumerable<T> source, Predicate<T> predicate)
        {
            foreach (T item in source)
            {
                if (predicate(item))
                {
                    yield return item;
                }
            }
        }
        static void Main()
        {
            IEnumerable<string> lines = File.ReadAllLines(@"your file name");
            Predicate<string> predicate = delegate(string line)
            {
                return line.StartsWith("using");
            };
            foreach (string str in where(lines, predicate))
            {
                Console.WriteLine(str);
            }        }
PHP 相关文章推荐
php基础知识:类与对象(3) 构造函数和析构函数
Dec 13 PHP
PHP 一个页面执行时间类代码
Mar 05 PHP
PHP Array交叉表实现代码
Aug 05 PHP
用PHP编写和读取XML的几种方式
Jan 12 PHP
如何修改和添加Apache的默认站点目录
Jul 05 PHP
PHP中的随机性 你觉得自己幸运吗?
Jan 22 PHP
PHP函数import_request_variables()用法分析
Apr 02 PHP
PHP使用imagick扩展实现合并图像的方法
Apr 25 PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 PHP
thinkPHP微信分享接口JSSDK用法实例
Jul 07 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
PHP实现的数组和XML文件相互转换功能示例
Mar 15 PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 #PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 #PHP
探讨:使用XMLSerialize 序列化与反序列化
Jun 08 #PHP
解析PHP自带的进位制之间的转换函数
Jun 08 #PHP
深入PHP内存相关的功能特性详解
Jun 08 #PHP
PHP rawurlencode与urlencode函数的深入分析
Jun 08 #PHP
PHP跳转页面的几种实现方法详解
Jun 08 #PHP
You might like
php foreach循环中使用引用的问题
2013/11/06 PHP
php cookie名使用点号(句号)会被转换
2014/10/23 PHP
ThinkPHP3.2.3实现分页的方法详解
2016/06/03 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
Display SQL Server Login Mode
2007/06/21 Javascript
JavaScript 继承详解(二)
2009/07/13 Javascript
jQuery前台数据获取实现代码
2011/03/16 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
2013/03/25 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
3分钟掌握常用的JS操作JSON方法总结
2017/04/25 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
2017/07/26 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
2014/04/15 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
安装dbus-python的简要教程
2015/05/05 Python
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
Django中的Signal代码详解
2018/02/05 Python
Python实现京东秒杀功能代码
2019/05/16 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
太阳镜仓库,售价20美元或更少:Sunglass Warehouse
2016/09/28 全球购物
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
ghd法国官方网站:英国最受欢迎的美发工具品牌
2019/04/18 全球购物
德国W家官网,可直邮中国的母婴商城:Windeln.de
2021/03/03 全球购物
入党申请人的自我鉴定
2013/12/01 职场文书
乡镇干部先进事迹材料
2014/02/03 职场文书
建设工地安全标语
2014/06/07 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
乒乓球比赛通知
2015/04/27 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
Go Gin实现文件上传下载的示例代码
2021/04/02 Golang
原生JavaScript实现简单五子棋游戏
2021/06/28 Javascript
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL