Eventuali duplicati:
Implementing C# IEnumerable<T> for a LinkedList classImplementazione IEnumerable al mio oggetto
Dopo la ricerca sul web per qualche ora ora non riesco ancora a capire come IEnumerable
/IEnumerator
opere e come implementarlo .
Ho costruito un semplice LinkedList
da zero, ma ora voglio implementare IEnumerable
così da poterlo foreach. Come lo faccio?
class Program
{
LL myList = new LL();
static void Main()
{
var gogo = new Program();
}
public Program()
{
myList.Add("test");
myList.Add("test1");
foreach (var item in myList) //This doesn't work because I havn't implemented Ienumerable
Console.WriteLine(item);
Console.Read();
}
}
class LL
{
private LLNode first;
public void Add(string s)
{
if (this.first == null)
this.first = new LLNode() { Value = s };
else
{
var node = this.first;
while (node.Next != null)
node = node.Next;
node.Next = new LLNode() { Value = s };
}
}
class LLNode
{
public string Value { get; set; }
public LLNode Next { get; set; }
}
sei sicuro di aver provato? – Nahum
[Qui] (http://codebetter.com/davidhayden/2005/03/08/implementing-ienumerable-and-ienumerator-on-your-custom-objects/) non * è un buon tutorial sull'implementazione di 'IEnumerable' su una lezione personalizzata [Qui] (http://www.codeproject.com/Articles/474678/A-Beginners-Tutorial-on-Implementing-Inumerable-I) è migliore. – NominSim
Nota che, tecnicamente, non * non * è necessario * per implementare 'IEnumerable' per usare la tua classe con un ciclo' foreach' ... – sloth