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


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 imagecreatetruecolor 创建高清和透明图片代码小结
May 15 PHP
PHP文件打开、关闭、写入的判断与执行代码
May 24 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
php+highchats生成动态统计图
May 21 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
Oct 30 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
php发送与接收流文件的方法
Feb 11 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
PHPCMS手机站伪静态设置详细教程
Feb 06 PHP
thinkPHP5.0框架独立配置与动态配置方法
Mar 17 PHP
Laravel实现表单提交
May 07 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 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类
2006/10/09 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
2013/01/23 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
jQuery实现下拉框选择图片功能实例
2015/08/08 Javascript
js省市县三级联动效果实例
2020/04/15 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
js获取一组日期中最近连续的天数
2017/05/25 Javascript
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
浅析Vue实例以及生命周期
2018/08/14 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
Python随机数random模块使用指南
2016/09/09 Python
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
Python之时间和日期使用小结
2019/02/14 Python
Python的高阶函数用法实例分析
2019/04/11 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
keras得到每层的系数方式
2020/06/15 Python
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
HTML5新特性之用SVG绘制微信logo
2016/02/03 HTML / CSS
大学生专业个人学习的自我评价
2013/10/26 职场文书
文明餐桌活动方案
2014/02/11 职场文书
财务部岗位职责范本
2015/04/14 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书
python opencv旋转图片的使用方法
2021/06/04 Python