c# 对象赋值踩坑

Posted yhood

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 对象赋值踩坑相关的知识,希望对你有一定的参考价值。

  public class Item
    
        public List<string> List1  get; set; 
        public List<string> List2  get; set; 
        public List<string> List3  get; set; 
        public List<string> List4  get; set; 
    
Item item =new Item;
List<string> list=new List<string>();
item.List1=list;
item.List2=list;
item.List3=list;
item.List4=list;
item.List1.add("sssss"); //此时item的List1,List2,List3,List4也都是同一个值,因为都指向了同一个地址,对任何一个进行操作,另外3个也同时改变

因为一时手误,理所当然的写了这种坑,排查了许久才发现,在这里记录一下,以防再次挖坑。

以上是关于c# 对象赋值踩坑的主要内容,如果未能解决你的问题,请参考以下文章