首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

foreach语句的内存使用有关问题

2012-01-20 
foreach语句的内存使用问题~代码很简单staticvoidMain(){ArrayListMyArraynewArrayList()for(inti0i1

foreach语句的内存使用问题~
代码很简单
                  static   void   Main()
                  {
                          ArrayList   MyArray   =   new   ArrayList();
                          for   (int   i   =   0;   i   <   10;   i++)
                                  MyArray.Add(i);
                          foreach   (object   obj   in   MyArray)
                          {
                                  Console.WriteLine(obj);
                          }
                  }

Myarray   里面有10   个对象~
但我执行foreach   的时候是不是额外创建10   个实例?

[解决办法]
foreach (object obj in MyArray)
{
Console.WriteLine(obj);
}

等价于:

IEnumerater ietr = MyArray.GetEnumerater();
while(ietr.MoveNext())
{
Console.WriteLine(ietr.Current);
}


仅仅是用了一个IEnumerater 接口来帮助访问 MyArray 的内容。

热点排行