Pergunta sobre IEnumerable e IEnumerator
Eu uso o código a seguir para permitir que o myClass use foreach. Mas sou um pouco iniciante em programação e tenho alguma dificuldade em entender o código a seguir. Eu descrevi meus problemas nos comentários. Ficaria muito grato por fornecer algumas informações.
public class MyClass : IEnumerable<string>
{
//1) What is IEnumerator for?
// Whats the difference between IEnumerator and IEnumerable
public IEnumerator<string> GetEnumerator()
{
yield return "first";
yield return "second";
}
//2) What is it for? It just calls above method
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
//3) Lastly what benefits I have from implementing genetic interface
//IEnumerable<string> instead of just IEnumerable