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


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 相关文章推荐
一个图形显示IP的PHP程序代码
Oct 19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
使用图灵api创建微信聊天机器人
Jul 23 PHP
thinkPHP中create方法与令牌验证实例浅析
Dec 08 PHP
让你的PHP7更快之Hugepage用法分析
May 31 PHP
php 使用redis锁限制并发访问类示例
Nov 02 PHP
php自定义截取中文字符串-utf8版
Feb 27 PHP
php 静态属性和静态方法区别详解
Apr 09 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
简单实现php上传文件功能
Sep 21 PHP
Laravel框架中缓存的使用方法分析
Sep 06 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
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
学习php笔记 字符串处理
2010/10/19 PHP
php中大括号作用介绍
2012/03/22 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
jQuery超赞的评分插件(8款)
2015/08/20 Javascript
浅谈Angular路由复用策略
2017/10/04 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
node.js ws模块搭建websocket服务端的方法示例
2019/04/25 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
Vue实现todo应用的示例
2021/02/20 Vue.js
老生常谈Python基础之字符编码
2017/06/14 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
python 文件转成16进制数组的实例
2018/07/09 Python
对pandas的层次索引与取值的新方法详解
2018/11/06 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
python实现电子词典
2020/03/03 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
python 装饰器的基本使用
2021/01/13 Python
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
当当网软件测试笔试题
2015/11/24 面试题
汽车销售顾问求职自荐信
2014/01/01 职场文书
在校生自我鉴定
2014/01/23 职场文书
书香校园建设方案
2014/05/02 职场文书
学校三节实施方案
2014/06/09 职场文书
开天辟地观后感
2015/06/09 职场文书
教师继续教育反思周记
2015/06/25 职场文书
Mysql案例刨析事务隔离级别
2021/09/25 MySQL
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python