小编Aru*_*run的帖子

IEnumerator.MoveNext()实现?

我对c#有点新意,我知道必须实现接口中定义的方法

但是在下面的代码中我还没有实现MoveNext()方法

static void Main()
{
    List<int> list = new List<int>();
    list.Add(1);
    list.Add(5);
    list.Add(9);

    List<int>.Enumerator e = list.GetEnumerator();
    Write(e);
}

static void Write(IEnumerator<int> e)
{
    while (e.MoveNext())
    {
        int value = e.Current;
        Console.WriteLine(value);
    }
}
Run Code Online (Sandbox Code Playgroud)

我也检查了元数据,它没有提供任何实现.

那么为什么编译器不会抛出任何错误?MoveNext()方法的实现在哪里?它如何移动到下一个值?

MoveNext()方法的代码是由编译器自动生成的吗?请帮忙

c# ienumerable interface

5
推荐指数
1
解决办法
5462
查看次数

标签 统计

c# ×1

ienumerable ×1

interface ×1