由于业务需要,我需要复制一个集合的副本。但是无论用什么方法,两个集合都是同步变化的。
代码如下:            List<info> arrs=new List<info>();
。。
。。
            List<info> listArrs =new List<info>();
            for (int i = 0; i < arrs.Count; i++)
            {
                info info = new info();
                info.数量 = arrs[i].数量;
                listArrs.Add(info);
            }arrs已经取得集合。
照道理说,info已经是一个新对象啦,将arrs中的数量字段赋值给info,他们之间不会存在引用的关系。但是现实是,只要 arrs[i].数量 变化,listArrs[i].数量 就会同步变化。我甚至将代码换为如下:List<info> arrs=new List<info>();
。。
。。
            int[] listArrs =new int[arrs.Count];
            for (int i = 0; i < arrs.Count; i++)
            {
                info info = new info();
                listArrs[i]  = arrs[i].数量;
             }listArrs[i]还是与arrs同步变化。数组赋值难道也会是引用类型吗?没有道理啊。
请教各位啦。