ArrayList ary = new ArrayList(); 
ary.Add(label1.Text); 
ary[0] = “AAAA”; 运行后为什么label1.text的值没有改变??

解决方案 »

  1.   

    ArrayList ary = new ArrayList(); 
    ary.Add(label1.Text); 
    ary[0] = “AAAA”; 你只改变arraylist值  没看见你赋值lable啊
      

  2.   

    改为:
    System.Collections.Generic.List<Label> ary = new System.Collections.Generic.List<Label>();
    ary.Add(label1);
    ary[0].Text = "AAAA";
      

  3.   

    label1.Text string类型 虽然是引用类型。
    但是string情况特殊,在赋值传递时,会复制一个副本。即lable.Text和ary[0]不是引用同一个对象。
      

  4.   


    我帮你解释下哈,
    ArrayList ary = new ArrayList(); 
    ary.Add(label1.Text);   //在ary 理增加一个元素label1.Text,放到的位置是ary[0]
    ary[0] = “AAAA”; //现在覆盖ary[0]为AAAA那么就是说你一直在操作ary,与label1.Text无关
      

  5.   

    ary.Add(label1.Text); 
    你这个只是获取了lable的text属性上的值
    你试试这个吧应该可以做到你想要的效果
    ary.Add(labell);
    (Label)(ary[0].text)="AAAA";
    这样运行以后你的label对象里面就有值了
      

  6.   

    Label)(ary[0]).Text="AAAA";
    应该是这样刚刚写错了呵呵
    不好意思啊 
      

  7.   


    对啊
    想赋值
    直接 label1.Text = "AAAA";
      

  8.   

    ArrayList ary = new ArrayList(); 
    ary.Add(label1.Text); 
    ary[0] = “AAAA”; 
    label1.Text=ary[0];这样就改变了。
      

  9.   

    赋值给的是arrarylist又没有给label赋值