Heim  >  Artikel  >  Backend-Entwicklung  >  使用迭代器 遍历文件信息的详解_PHP教程

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

WBOY
WBOYOriginal
2016-07-21 15:07:281446Durchsuche

1.迭代文件的行

复制代码 代码如下:

        public static IEnumerable 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 where(IEnumerable source, Predicate predicate)
        {
            if (source == null || predicate == null)
            {
                throw new ArgumentNullException();
            }
            return WhereImplemeter(source, predicate);
        }
       private static IEnumerable WhereImplemeter(IEnumerable source, Predicate predicate)
        {
            foreach (T item in source)
            {
                if (predicate(item))
                {
                    yield return item;
                }
            }
        }
        static void Main()
        {
            IEnumerable lines = File.ReadAllLines(@"your file name");
            Predicate predicate = delegate(string line)
            {
                return line.StartsWith("using");
            };
            foreach (string str in where(lines, predicate))
            {
                Console.WriteLine(str);
            }

        }

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/327537.htmlTechArticle1.迭代文件的行 复制代码 代码如下: public static IEnumerablestring ReadLines(string fileName) { using (TextReader reader = File.OpenText(fileName)) { string line; if (...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn