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


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 相关文章推荐
从零开始 教你如何搭建Discuz!4.1论坛
Jul 07 PHP
Zend公司全球首推PHP认证
Oct 09 PHP
php中文字符截取防乱码
Mar 28 PHP
php zlib压缩和解压缩swf文件的代码
Dec 30 PHP
PHP获取windows登录用户名的方法
Jun 24 PHP
php计划任务之ignore_user_abort函数实现方法
Jan 08 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
Yii2 批量插入、更新数据实例
Mar 15 PHP
PHP经典实用正则表达式小结
May 04 PHP
PHP使用file_get_contents发送http请求功能简单示例
Apr 29 PHP
实例说明js脚本语言和php脚本语言的区别
Apr 04 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
php5 non-thread-safe和thread-safe这两个版本的区别分析
2010/03/13 PHP
php环境套包 dedeampz 伪静态设置示例
2014/03/26 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
默认让页面的第一个控件选中的javascript代码
2009/12/26 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
jQuery之排序组件的深入解析
2013/06/19 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
2014/08/30 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
Bootstrap中CSS的使用方法
2016/02/17 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
BetterScroll 在移动端滚动场景的应用
2017/09/18 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
2018/06/08 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
微信小程序实现联动选择器
2019/02/15 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
用Python将mysql数据导出成json的方法
2018/08/21 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
Deichmann英国:德国鞋类零售商
2021/01/30 全球购物
采购员的工作职责
2013/12/26 职场文书
幼儿园教师国培感言
2014/02/02 职场文书
触摸春天教学反思
2014/02/03 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
各营销点岗位职责范本
2014/03/05 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
2014年党员自我剖析材料
2014/10/07 职场文书
学校财务管理制度
2015/08/04 职场文书