浅复制不能传递,重新赋值就重新浅复制
如
ADORPNT p1 = GetADPointFromName("张三");
ADORPNT p2 = GetADPointFromName("李四");
List<ADORPNT> pts = new List<ADORPNT> {p1,p2 };
List<ADORPNT> ps = pts; //ps与pts是浅复制关系,二者指向同一内存地址,后面对ps的操作都会pts进行
ps.RemoveAt(0); //映射到pts
ps.Add(FlightBLL.GetADPointFromName("王五"));//映射到pts
//如果对ps重新赋值,或ps重新浅复制到其它对象,ps指向新的内存地址,与pts的浅复制关系终止。
如 ps=new List<ADORPNT>(); 或者 ps= pky;等都切换了地址,ps与pts脱钩.