应该是foreach(Object o in arr)吧不过如果按你的思路来运行程序的话,应该什么都没有,因为arr一出Test函数就什么内容都没有了,除非设为static ArrayList arr=new ArrayList()

解决方案 »

  1.   

    值是有改变的。但在foreach中不能改变arr的值。。所以不能重新赋值,你下次找的时候就没有public void gaibianzhi()
    {
    /*foreach(XXX ddd in arr)
    {
    int g=ddd.d;
    ddd.fuzhi(g+1);
    }*/
    for(int i=0;i<arr.Count;i++)
    {
    int g = ((XXX)arr[i]).d;
    xxx.fuzhi(g+2);
    arr[i] = xxx;
    } foreach(XXX ddd in arr)
    {
    MessageBox.Show(ddd.d.ToString());
    }
    }