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


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学习教程之第1天
Jun 15 PHP
如何用C语言编写PHP扩展的详解
Jun 13 PHP
codeigniter发送邮件并打印调试信息的方法
Mar 21 PHP
Mac环境下php操作mysql数据库的方法分享
May 11 PHP
ThinkPHP开发框架函数详解:C方法
Aug 14 PHP
php给图片添加文字水印方法汇总
Aug 27 PHP
反射调用private方法实践(php、java)
Dec 21 PHP
WordPress中限制非管理员用户在文章后只能评论一次
Dec 31 PHP
php pdo oracle中文乱码的快速解决方法
May 16 PHP
php基于PDO实现功能强大的MYSQL封装类实例
Feb 27 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
php post json参数的传递和接收处理方法
May 31 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
多重?l件?合查?(二)
2006/10/09 PHP
使PHP自定义函数返回多个值
2006/11/26 PHP
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
php实现每日签到功能
2018/11/29 PHP
PHP常见字符串操作函数与用法总结
2019/03/04 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
JQuery jsonp 使用示例代码
2009/08/12 Javascript
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
鼠标滚轮改变图片大小的示例代码
2013/11/20 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
JQuery实现DIV其他动画效果的简单实例
2016/09/18 Javascript
jquery自定义表单验证插件
2016/10/12 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
Python中的元类编程入门指引
2015/04/15 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
2018/04/19 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
Mio Skincare法国官网:身体紧致及孕期身体护理
2018/04/04 全球购物
行政助理的职责
2013/11/14 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
给男朋友的道歉短信
2015/05/12 职场文书
撤诉书怎么写
2015/05/19 职场文书
PostgreSQL怎么创建分区表详解
2022/06/25 PostgreSQL
CSS 实现磨砂玻璃(毛玻璃)效果样式
2023/05/21 HTML / CSS