📜  添加到 ienumerable - C# (1)

📅  最后修改于: 2023-12-03 15:40:46.310000             🧑  作者: Mango

添加到 IEnumerable - C#

在 C# 中,IEnumerable 接口用于表示一组可以枚举的对象。IEnumerable 接口是通过yield关键字来枚举一组数据的。在本文中,我们将探讨如何将项目添加到 IEnumerable。

语法

我们可以将一个对象添加到 IEnumerable 接口中,通过实现 IEnumerable 接口中的 GetEnumerator() 方法。

public IEnumerator GetEnumerator()
{
    return myEnumerator();
}

myEnumerator() 方法中,我们可以使用 yield return 语句来 yield return 一组数据。在每次调用 MoveNext() 方法时,就会依次 yield return 一组数据。

private IEnumerator myEnumerator()
{
    yield return "Item 1";
    yield return "Item 2";
    yield return "Item 3";
}

我们现在可以像枚举一般使用 IEnumerable 接口。

MyEnumerable myEnumerable = new MyEnumerable();

foreach (var item in myEnumerable)
{
    Console.WriteLine(item);
}

输出:

Item 1
Item 2
Item 3
示例

下面是一个例子,其中我们将一组字符串添加到 IEnumerable 接口中。

using System;
using System.Collections;

class Program
{
    static void Main(string[] args)
    {
        MyCollection myCollection = new MyCollection();
        myCollection.Add("Hello");
        myCollection.Add("World");
        myCollection.Add("!");

        foreach (var item in myCollection)
        {
            Console.WriteLine(item);
        }
    }
}

class MyCollection : IEnumerable
{
    private ArrayList values = new ArrayList();

    public void Add(string value)
    {
        values.Add(value);
    }

    public IEnumerator GetEnumerator()
    {
        return myEnumerator();
    }

    private IEnumerator myEnumerator()
    {
        foreach (string str in values)
        {
            yield return str;
        }
    }
}

观察输出:

Hello
World
!
结论

现在你已经知道如何添加到 IEnumerable 中了。要继续探索IEnumerable 和 IEnumerator 接口,以及如何使用它们,请查阅微软官方文档。