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


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 相关文章推荐
js下函数般调用正则的方法附代码
Jun 22 PHP
PHP类中Static方法效率测试代码
Oct 17 PHP
php连接mssql的一些相关经验及注意事项
Feb 05 PHP
基于php设计模式中工厂模式详细介绍
May 15 PHP
CI框架中site_url()和base_url()的区别
Jan 07 PHP
php设置页面超时时间解决方法
Sep 22 PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 PHP
Symfony2 session用法实例分析
Feb 04 PHP
Thinkphp实现短信验证注册功能
Oct 18 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 PHP
PHP defined()函数的使用图文详解
Jul 20 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的源码中深入了解stdClass类
2014/04/18 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
Array对象方法参考
2006/10/03 Javascript
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
jquery批量控制form禁用的代码
2013/08/06 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
node.js中的fs.readFile方法使用说明
2014/12/15 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
vue使用自定义icon图标的方法
2018/05/14 Javascript
批处理与python代码混合编程的方法
2016/05/19 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
Python基于递归算法求最小公倍数和最大公约数示例
2018/07/27 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
谈谈Python中的while循环语句
2019/03/10 Python
使用python实现滑动验证码功能
2019/08/05 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
飞利浦美国官网:Philips美国
2020/02/28 全球购物
求职信的要素有哪些呢
2013/12/26 职场文书
前厅部经理岗位职责范文
2014/02/04 职场文书
元旦获奖感言
2014/03/08 职场文书
文秘应届生求职信
2014/07/05 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
小学思想品德教学反思
2016/02/24 职场文书
2019财务转正述职报告
2019/06/27 职场文书