欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 当中 foreach 的原理

程序员文章站 2022-06-30 13:16:40
在 C 当中的 语句实际上就是遍历迭代器的语法糖。例如我们拥有以下代码: 上述代码结构十分简单,作用就是遍历 数组,并将其结果输出到控制台当中。 由于 是一个 类型,它继承并实现了 接口,所以 语句实际上是翻译成下面伪代码进行遍历输出的。 ......

在 c# 当中的 foreach 语句实际上就是遍历迭代器的语法糖。例如我们拥有以下代码:

public class testclass
{
    public void testmethod()
    {
        var integers = new int[] {1,2,3,4,5,6,7,8,9};
        
        foreach(var @int in integers)
        {
            console.writeline(@int);
        }
    }
}

上述代码结构十分简单,作用就是遍历 integers 数组,并将其结果输出到控制台当中。
由于 int[] 是一个array 类型,它继承并实现了 ienumerbale<t> 接口,所以 foreach 语句实际上是翻译成下面伪代码进行遍历输出的。

public class testclass
{
    public void testmethod()
    {
        var integers = new int[] {1,2,3,4,5,6,7,8,9};
        
        var tmpenumerator = integers.getenumerator();
        try
        {
            while(tmpenumerator.movenext())
            {
                var itemvalue = tempenumerator.current;
                // 需要执行的代码段
                console.writeline(itemvalue);
            }
        }
        finally
        {
           tmpenumerator.dispose();
        }
    }
}