Rumah pembangunan bahagian belakang tutorial php 使用迭代器 遍历文件信息的详解_PHP

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

Jun 01, 2016 pm 12:06 PM
maklumat Iterator

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);
            }

        }
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mengalih keluar maklumat pengarang dan terakhir diubah suai dalam Microsoft Word Bagaimana untuk mengalih keluar maklumat pengarang dan terakhir diubah suai dalam Microsoft Word Apr 15, 2023 am 11:43 AM

Bagaimana untuk mengalih keluar maklumat pengarang dan terakhir diubah suai dalam Microsoft Word

Cara menggunakan iterator dan algoritma rekursif untuk memproses data dalam C# Cara menggunakan iterator dan algoritma rekursif untuk memproses data dalam C# Oct 08, 2023 pm 07:21 PM

Cara menggunakan iterator dan algoritma rekursif untuk memproses data dalam C#

Cara berkongsi butiran hubungan dengan NameDrop: Panduan cara untuk iOS 17 Cara berkongsi butiran hubungan dengan NameDrop: Panduan cara untuk iOS 17 Sep 16, 2023 pm 06:09 PM

Cara berkongsi butiran hubungan dengan NameDrop: Panduan cara untuk iOS 17

Bagaimana untuk mendapatkan GPU dalam Windows 11 dan semak butiran kad grafik Bagaimana untuk mendapatkan GPU dalam Windows 11 dan semak butiran kad grafik Nov 07, 2023 am 11:21 AM

Bagaimana untuk mendapatkan GPU dalam Windows 11 dan semak butiran kad grafik

Amalan terbaik untuk iterator dalam program PHP Amalan terbaik untuk iterator dalam program PHP Jun 06, 2023 am 08:05 AM

Amalan terbaik untuk iterator dalam program PHP

Penjelasan terperinci tentang pelaksanaan dan penggunaan iterator Golang Penjelasan terperinci tentang pelaksanaan dan penggunaan iterator Golang Mar 17, 2024 pm 09:21 PM

Penjelasan terperinci tentang pelaksanaan dan penggunaan iterator Golang

Algoritma NeRF paparan tunggal S^3-NeRF menggunakan maklumat berbilang pencahayaan untuk memulihkan geometri pemandangan dan maklumat bahan. Algoritma NeRF paparan tunggal S^3-NeRF menggunakan maklumat berbilang pencahayaan untuk memulihkan geometri pemandangan dan maklumat bahan. Apr 13, 2023 am 10:58 AM

Algoritma NeRF paparan tunggal S^3-NeRF menggunakan maklumat berbilang pencahayaan untuk memulihkan geometri pemandangan dan maklumat bahan.

Petua utama dan kecil dalam Python Petua utama dan kecil dalam Python Aug 25, 2023 pm 04:05 PM

Petua utama dan kecil dalam Python

See all articles