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


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 相关文章推荐
php4的session功能评述(一)
Oct 09 PHP
用PHPdig打造属于你自己的Google[图文教程]
Feb 14 PHP
一道求$b相对于$a的相对路径的php代码
Aug 08 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
Oct 06 PHP
php使用cookie保存登录用户名的方法
Jan 26 PHP
PHP中把数据库查询结果输出为json格式简单实例
Apr 09 PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 PHP
laravel创建类似ThinPHP中functions.php的全局函数
Nov 26 PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 PHP
thinkPHP5.0框架URL访问方法详解
Mar 18 PHP
php 后端实现JWT认证方法示例
Sep 04 PHP
php实现文章评论系统
Feb 18 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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
php使用MySQL保存session会话的方法
2015/06/18 PHP
PHP实现RTX发送消息提醒的实例代码
2017/01/03 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
jquery实现顶部向右伸缩的导航区域代码
2015/09/02 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
bootstrap datetimepicker控件位置异常的解决方法
2017/11/23 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
JavaScript常用工具方法封装
2019/02/12 Javascript
JavaScript switch语句使用方法简介
2019/12/30 Javascript
[02:05]2014DOTA2国际邀请赛 BBC外卡赛赛后总结
2014/07/09 DOTA
Python 文件操作实现代码
2009/10/07 Python
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
使用Python对Excel进行读写操作
2017/03/30 Python
python批量导入数据进Elasticsearch的实例
2018/05/30 Python
python打开使用的方法
2019/09/30 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
css3加js做一个简单的3D行星运转效果实例代码
2017/01/18 HTML / CSS
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
Html5百叶窗效果的示例代码
2017/12/11 HTML / CSS
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
档案管理员岗位职责
2013/12/01 职场文书
美国探亲签证邀请信
2014/02/05 职场文书
小学生环保倡议书
2014/05/15 职场文书
教师节慰问信
2015/02/15 职场文书
导游词之井冈山
2019/11/20 职场文书
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android