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);
}
编译器会把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#中Thread.Join()的一点理解
- 关于C#中Thread.Join()的一点理解
- c# 构造器的一点理解(2)
- 关于foreach、Iterable、Iterator的一点理解
- 关于C#中Thread.Join()的一点理解
- C#中List或其它集合对象排序方法的一点理解
- C# 多线程 Parallel.ForEach 和 ForEach 效率问题研究及理解
- 对C#下函数,委托,事件的一点理解!
- C#中Predicate的一点理解
- 今天你事件了吗——对基于C#的事件编程的一点理解
- C#观察者模式的实现的一点理解。
- 关于C#里面socket编程的一点理解
- C# abstract的一点理解
- 深入理解C#中foreach遍历的使用方法
- 对C#下函数,委托,事件的一点理解!
- C# 委托与事件的一点理解(1)
- 对C#下函数,委托,事件的一点理解
- 关于C#中Thread.Join()的一点理解
- 关于C#里面socket编程的一点理解
- 关于C#中Thread.Join()的一点理解