日期:2014-05-18  浏览次数:20710 次

一个简单的 ArrayList 的遍历问题
我以前一直记得遍历ArrayList是需要这样:
ArrayList students=new ArrayList();
....
....
foreach(Object obj in students)
{
 Student stu=(Student)obj;
 ...
 ...
}
我记得遍历ArrayList需要先用Object变量接收,再进行转换使用。

但是今天我忽然发现,也可以:
foreach(Student stu in students)
{
 ...
 ...
}
这样直接使用。

那是不是说,只要我确认了集合中一定只存放同类型的变量,那我就可以不用Object进行拆箱了?


------解决方案--------------------
你还可以这样用呢
List<Student> list=new List<Student>();
list.Add(new Student());
list.Add(new Student());



foreach(Student stu in list) 

... 
... 



------解决方案--------------------
最好使用泛型类,请参考2楼代码

需要using System.Collections.Generic;
------解决方案--------------------
foreach(Object obj in students) 

Student stu=(Student)obj; 
... 
... 


foreach(Student stu in students) 

... 
... 

这两种写法性能相同