在类和对象之间使用枚举器

时间:2012-11-04 00:38:48

标签: c# struct foreach enumerator

我在对象中有一个struct数组。我想使用foreach循环将数组中的每个结构传递给类,以便我可以在类中显示每个结构。 以下是传递结构的对象中的代码:

public IEnumerator recup_voitures()
{
    foreach (voiture v in _arrVCollection)
    {
        yield return (v);
    }
}

我尝试使用以下方法在课堂上回收这些:

foreach (CarCollection.voiture o in collection.recup_voitures())
{
   //some console.writeline to display whats inside each struct 
}

这不行。我收到一个错误,说它没有公共的GetEnumerator。 任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

您需要返回IEnumer 。 (最好是IEnumerable<T>

foreach操作(看起来像IEnumerable<T>的对象,并调用GetEnumerator()来枚举该集合。