c#请教一个很郁闷的问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 15:01:21
ArrayList list = new ArrayList();
for(int i=0;i<10;i++)
{
model.name="aaa";
list.Add(Model);model为实体类
}
比如:i为 0 时,model.name的值为"aaa"
i为 1 时,model.name的值为"bbb"
这时我再看list[0]里的model.name 也变成"bbb"了

呵呵 你犯了一个错误 就是没有new新的对象,所以无论你怎么add model所引用的都是一个实体,所以后来name改为bbb了,相当于所有的都被改了 哈哈

list[0]和list[1]引用了同一个对象model。。。

Model model1 = new Model();
model1.name="aaa";
list.Add(Model1);model为实体类

Model model2 = new Model();
model2.name="bbb";
list.Add(Model2);model为实体类

这样才可以

ArrayList list = new ArrayList();
for(int i=0;i<10;i++)
{
model.name="aaa";
list.Add(Model);model为实体类
messagebox(list[i]);看看每次输出吧再看时怎么回事
}
然后在这里遍历输出LIST内的元素