您的位置:首页 > 编程语言 > C#

C#中foreach的一点理解

2012-08-06 11:48 197 查看
C#中的foreach语句不会解析为IL(中间代码)代码中的foreach语句,C#

编译器会把foreach语句转换为IEnumberable接口的方法和属性。

 

  ----类P的定义

    public class P

    {

        public string Name { get; set; }

    }

  ----数组初始化

            P[] ps=new P[]{new P{Name="ronaldo"},

                            new P{Name="rivaldo"},

                            new P{Name="backham"}};

 

----下面是一条简单的foreach语句

foreach(var p in ps)

{

        MessageBox.show(p.Name);

}

-----它会被解释为

            System.Collections.IEnumerator enumerator = ps.GetEnumerator();

            while (enumerator.MoveNext())

            {

                P o = enumerator.Current as P;

                MessageBox.Show(o.Name);

            }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# 编译器 string class