【发布时间】:2012-12-30 21:35:05
【问题描述】:
在网上搜索了几个小时后,我仍然无法理解IEnumerable/IEnumerator 的工作原理以及如何实现它。
我从头开始构建了一个简单的LinkedList,但现在我想为它实现IEnumerable,这样我就可以使用它了。我该怎么做?
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; }
}
【问题讨论】:
-
请注意,从技术上讲,不不需要实现
IEnumerable以使用带有foreach循环的类... -
是的,我知道,但我想学习如何使用它。
标签: c# ienumerable ienumerator