C#中的Label.text值的设置!

来源:百度知道 编辑:UC知道 时间:2024/09/25 19:16:24
ArrayList ary = new ArrayList();
ary.Add(label1.Text);
ary[0] = “AAAA”;

运行后为什么label1.text的值没有改变??

因为你的动作是把label1的text值存到了数组里。
然后又把相应位置的值改了
没有直接改label1.Text
所以对label1.Text没有影响

这就牵扯到你学到的值类型和引用类型
你只是引用了label1的Text

ArrayList ary = new ArrayList();
ary.Add("AAAA");
label1.Text=ary[0];

ary.Add(label1.Text); 这条语句只是把label1.Text作为一个参数传进来

相当于
string s=labl1.Text;
ary.Add(s);

所以当执行ary[0] = “AAAA”时,改变的只是ary[0].

ary.Add(label1.Text); 这一步实现的原理是:复制。
即:放到ary里的label1.Text已经和控件label1的Text值已经没有任何的联系了。