Mögliche Duplizieren:
Implementing C# IEnumerable<T> for a LinkedList classUmsetzung IEnumerable zu meinem Objekt
Ich kann das Netz für einige Stunden jetzt noch nicht verstehen, wie IEnumerable
/IEnumerator
funktioniert und wie es nach der Suche zu implementieren .
Ich habe eine einfache LinkedList
von Grund auf neu gebaut, aber jetzt möchte ich IEnumerable
für sie implementieren, damit ich es foreach kann. Wie mache ich das?
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; }
}
sind Sie sicher, Sie haben es versucht? – Nahum
[Hier] (http://codebetter.com/davidhayden/2005/03/08/implementing-ienumerable-and-ienumerator-on-your-custom-objects/) ist * kein gutes Tutorial zur Implementierung von 'IEnumerable' on eine benutzerdefinierte Klasse [Hier] (http://www.codeproject.com/Articles/474678/A-Beginners-Tutorial-on-Implementing-IEnumerable-I) ist eine bessere. – NominSim
Beachten Sie, dass Sie * IEnumerable' technisch nicht implementieren müssen, um Ihre Klasse mit einer 'foreach'-Schleife zu verwenden ... – sloth