首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

模拟IEnumerable <T>类型的GetEnumerator()方法

作为一个云计算领域的专家,我了解到IEnumerable<T>是一个泛型接口,用于遍历集合中的元素。它提供了一个GetEnumerator()方法,该方法返回一个枚举器,可以用于遍历集合中的每个元素。

在C#中,IEnumerable<T>接口是一个非常重要的接口,它是许多集合类型(如数组、列表和集合)的基础。它允许开发人员使用foreach循环来遍历集合中的每个元素。

以下是一个简单的示例,演示如何实现IEnumerable<T>接口并使用GetEnumerator()方法遍历集合中的元素:

代码语言:csharp
复制
using System;
using System.Collections;
using System.Collections.Generic;

class CustomCollection<T> : IEnumerable<T>
{
    private List<T> _items = new List<T>();

    public void Add(T item)
    {
        _items.Add(item);
    }

    public IEnumerator<T> GetEnumerator()
    {
        foreach (T item in _items)
        {
            yield return item;
        }
    }

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

class Program
{
    static void Main(string[] args)
    {
        CustomCollection<int> collection = new CustomCollection<int>();
        collection.Add(1);
        collection.Add(2);
        collection.Add(3);

        foreach (int item in collection)
        {
            Console.WriteLine(item);
        }
    }
}

在这个示例中,我们创建了一个名为CustomCollection<T>的自定义集合类,它实现了IEnumerable<T>接口并提供了一个GetEnumerator()方法,该方法使用yield return语句返回一个枚举器,用于遍历集合中的每个元素。

Main方法中,我们创建了一个CustomCollection<int>实例,并向其中添加了一些元素。然后,我们使用foreach循环遍历集合中的每个元素,并将其打印到控制台上。

总之,IEnumerable<T>接口和GetEnumerator()方法是C#中用于遍历集合的重要组成部分,它们提供了一种通用的方式来遍历各种集合类型。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券