uniqueroy 2014年01月08日
关于迭代器.
我实现了如下代码。

class Program
{
class GenEnumerator<T> : IEnumerable
{
public T[] Values { get; set; }


public IEnumerator GetEnumerator()
{
for (int i = 0; i < Values.Length; i++)
yield return Values[i];
}
}

static void Main(string[] args)
{
GenEnumerator<string> g = new GenEnumerator<string>();
g.Values = new string[] { "a", "b", "c", "d", "e" };
g.GetEnumerator().MoveNext();

Console.WriteLine(g.GetEnumerator().Current);


Console.ReadKey();
}
}



为什么current没有值呢?
但如果

var a = g.GetEnumerator();

这样就可以,为什么呢?
如果我继承IEnumerator接口,实现其方法和属性。可以吗?
...全文
105 点赞 收藏 11
写回复
11 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C#
创建于2007-09-28

8.4w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告