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


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代码
Mar 03 PHP
关于session在PHP5的配置文件中的详细设置参数说明
Apr 20 PHP
PHP调用Webservice实例代码
Jul 29 PHP
PHP IF ELSE简化/三元一次式的使用
Aug 22 PHP
解析zend Framework如何自动加载类
Jun 28 PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 PHP
linux中cd命令使用详解
Jan 08 PHP
Laravel中如何增加自定义全局函数详解
May 09 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
Nov 25 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 PHP
PHP针对redis常用操作实例详解
Aug 17 PHP
php校验公钥是否可用的实例方法
Sep 17 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
虫族 Zerg 历史背景
2020/03/14 星际争霸
综合图片计数器
2006/10/09 PHP
php addslashes和mysql_real_escape_string
2010/01/24 PHP
让PHP更快的提供文件下载的代码
2012/06/13 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
ExtJs使用IFrame的实现代码
2010/03/24 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
nodeJs内存泄漏问题详解
2016/09/05 NodeJs
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
微信提示 在浏览器打开 效果实现过程解析
2019/09/10 Javascript
JQuery绑定事件四种实现方法解析
2020/12/02 jQuery
python文件操作整理汇总
2014/10/21 Python
python将文本转换成图片输出的方法
2015/04/28 Python
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
python类中super()和__init__()的区别
2016/10/18 Python
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
python通过txt文件批量安装依赖包的实现步骤
2019/08/13 Python
tensorflow实现训练变量checkpoint的保存与读取
2020/02/10 Python
澳大利亚领先的优质葡萄酒拍卖会:Langton’s Fine Wines
2019/03/24 全球购物
衰败城市英国官网:Urban Decay英国
2020/04/29 全球购物
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
2014年售票员工作总结
2014/11/19 职场文书
写给医生的感谢信
2015/01/22 职场文书
Python爬虫数据的分类及json数据使用小结
2021/03/29 Python