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

 更新时间:2013年06月08日 18:04:19   作者:  
本篇文章是对使用迭代器 遍历文件的信息进行了详细的分析介绍,需要的朋友参考下
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 上一篇,下一篇文章实现代码与原理说明

    就是对id对进行order by id desc 或 order by id asc进行排序,然后再判断比当前id> or小于当前文章id的相同栏目的文章。
    2010-05-05
  • php限制ip地址范围的方法

    php限制ip地址范围的方法

    这篇文章主要介绍了php限制ip地址范围的方法,涉及php操作IP地址的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • php支付宝接口用法分析

    php支付宝接口用法分析

    这篇文章主要介绍了php支付宝接口用法,以实例形式较为详细的分析了php支付宝接口的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • PHP使用imap_open实现读取QQ邮箱

    PHP使用imap_open实现读取QQ邮箱

    这篇文章主要为大家详细介绍了PHP如何使用imap_open实现读取QQ邮箱功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • 简述php环境搭建与配置

    简述php环境搭建与配置

    本文主要对php的环境搭建与配置进行步骤介绍。文章中标出了重点,方便大家阅读,需要的朋友可以参考下
    2016-12-12
  • 解决PHP字符串长度不一致的问题

    解决PHP字符串长度不一致的问题

    下面小编就为大家分享一篇解决PHP字符串长度不一致的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • 在PHP中养成7个面向对象的好习惯

    在PHP中养成7个面向对象的好习惯

    如果您尚未打算用 OO 原则创建应用程序,则使用 PHP 的面向对象(OO)的语言特性,这 7 个习惯将帮助您开始在过程编程与 OO 编程之间进行转换。
    2010-07-07
  • PHP将二维数组某一个字段相同的数组合并起来的方法

    PHP将二维数组某一个字段相同的数组合并起来的方法

    这篇文章主要介绍了PHP将二维数组某一个字段相同的数组合并起来的方法,涉及PHP多维数组操作的相关技巧,需要的朋友可以参考下
    2016-02-02
  • PHP中全面阻止SQL注入式攻击分析小结

    PHP中全面阻止SQL注入式攻击分析小结

    PHP是一种力量强大但相当容易学习的服务器端脚本语言,即使是经验不多的程序员也能够使用它来创建复杂的动态的web站点。然而,它在实现因特网服务的秘密和安全方面却常常存在许多困难
    2012-01-01
  • php通过session防url攻击方法

    php通过session防url攻击方法

    这篇文章主要介绍了php通过session防url攻击方法,可通过session获取用户名再传入URL来防止URL攻击,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12

最新评论