浅复制不能传递,重新赋值就重新浅复制

 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脱钩.

上一篇:opencv画基本几何形状和文字


下一篇:mangodb用法