中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

yield c# 實現自定義迭代器技巧

c#
小樊
83
2024-07-14 04:35:21
欄目: 編程語言

在C#中,可以通過實現IEnumerable接口和IEnumerator接口來創建自定義迭代器。下面是一個簡單的示例,演示如何創建一個自定義迭代器:

using System;
using System.Collections;
using System.Collections.Generic;

public class CustomIterator : IEnumerable<int>
{
    private List<int> numbers;

    public CustomIterator(List<int> numbers)
    {
        this.numbers = numbers;
    }

    public IEnumerator<int> GetEnumerator()
    {
        foreach (int number in numbers)
        {
            yield return number;
        }
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }
}

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        CustomIterator customIterator = new CustomIterator(numbers);

        foreach (int number in customIterator)
        {
            Console.WriteLine(number);
        }
    }
}

在上面的示例中,CustomIterator類實現了IEnumerable<int>接口,并且實現了GetEnumerator方法。在GetEnumerator方法中,使用yield return語句來返回迭代器中的元素。然后在Main方法中,使用foreach循環來迭代自定義迭代器,并打印每個元素的值。

通過這種方式,可以靈活地自定義迭代器,實現對各種數據結構的迭代操作。

0
周至县| 濮阳县| 嘉荫县| 昔阳县| 嫩江县| 常熟市| 台南县| 方山县| 迭部县| 遂平县| 辽阳县| 康保县| 丹寨县| 九江市| 井研县| 静安区| 广宁县| 吉隆县| 武川县| 奉化市| 犍为县| 莎车县| 乌鲁木齐市| 永顺县| 威海市| 福泉市| 双流县| 崇州市| 开阳县| 镇远县| 揭东县| 宁陵县| 尤溪县| 五原县| 和静县| 大渡口区| 奉节县| 拉萨市| 南部县| 巴彦县| 阿克陶县|