List之间赋值

来源:互联网 发布:mac装双系统还是虚拟机 编辑:程序博客网 时间:2024/05/21 12:43

代码示例:

    public class Stu
    {
        public string Name { get; set; }
        public string Age { get; set; }
    }

     var listA = new List<Stu>
     {
         new Stu {Name = "AAA", Age = "22"},
         new Stu {Name = "BBB", Age = "23"},
         new Stu {Name = "CCC", Age = "24"},
      };

1、List之间赋值

       (1)两个list之间可以直接赋值,可以直接等于,但是因为指向是同一地址,两者会互相影响,一个改变,另一个也会改变

         例:var listB=listA

               // listC.AddRange(listA);

              

        (2)list直接赋值,又想不互相影响,假如想要第一个集合的值,只能把第一个list遍历出来,add到第二个list中

            var listB=new List<Stu>();
            foreach (var T in listA)
            {
                listB.Add(new Stu {Name = T.Name,Age=T.Age});
            }

            foreach (var T in listB)
            {
                T.Name = T.Name + "1";
            }

           //listB里的Name 值改变了,listA的Name还是之前的!

 

原创粉丝点击