Я использую следующий код, чтобы разрешить myClass использовать foreach. Но я новичок в программировании и мне трудно понять следующий код. Я описал свои проблемы в комментариях. Я был бы признателен за предоставленную информацию.
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