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


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初学入门
Nov 19 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 PHP
php mssql 数据库分页SQL语句
Dec 16 PHP
getJSON跨域SyntaxError问题分析
Aug 07 PHP
php内嵌函数用法实例
Mar 20 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
May 12 PHP
学习php设计模式 php实现原型模式(prototype)
Dec 07 PHP
PHP生成唯一ID之SnowFlake算法
Dec 17 PHP
PHP搭建大文件切割分块上传功能示例
Jan 04 PHP
thinkphp框架page类与bootstrap分页(美化)
Jun 25 PHP
PHP函数按引用传递参数及函数可选参数用法示例
Jun 04 PHP
php 多继承的几种常见实现方法示例
Nov 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
PHP的curl函数的用法总结
2019/02/14 PHP
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
原生javascript实现连连看游戏
2019/01/03 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
python之pyqt5通过按钮改变Label的背景颜色方法
2019/06/13 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
python3.8与pyinstaller冲突问题的快速解决方法
2020/01/16 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
Python request post上传文件常见要点
2020/11/20 Python
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
美国户外运动商店:Sun & Ski
2018/08/23 全球购物
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
土木工程专业自荐信
2013/10/04 职场文书
技术总监岗位职责
2013/12/05 职场文书
岗位竞聘演讲稿
2014/01/10 职场文书
直接有效的自我评价
2014/01/11 职场文书
户外婚礼策划方案
2014/02/08 职场文书
交通事故委托书范本
2014/09/28 职场文书
2014年银行个人工作总结
2014/12/05 职场文书
2016新年感言
2015/08/03 职场文书
导游词之吉林吉塔
2019/11/11 职场文书
js实现上传图片到服务器
2021/04/11 Javascript
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
利用Python多线程实现图片下载器
2022/03/25 Python
springboot入门 之profile设置方式
2022/04/04 Java/Android