新手提问有一个temp类,生成了实体对象A,B,C,D……
有一个list<temp> space这样的容器,
装入了上述生成的ABCDRFG等等等一个新的temp对象 newA = space[i],
运气很好,newA 引用了。A问题来了,我现在想要将A从space这个容器中删除
同时把newA置空,但是因为我不知道i是多少,不可能直接透过Space去删除A,我也不能直接对A进行操作
这样的情况下,跟A也直接联系的对象就是newA我该如何透过newA做到
1.将A从space容器里面销毁?

解决方案 »

  1.   

    ???
                space.Remove(newA);
      

  2.   

    space.Remove(newA)
    newA=null等一会 A就会被回收了
      

  3.   

    会自动销毁,只需要手动移除即可。对于应用类型来说,=赋值的就是引用,把newA移除,A对于space[i]的引用也不存在了。
      

  4.   

    销毁对象并不能自动从space中移除
    所以做法如下:
    newA=null;//导致space[i]指向的内容也是null
    循环判断 space如果为null 就移除
    int i=0;
    for(i;i<space.Length;i++)
    {
      if(space[i]==null)
     {
       break;
      }
    }
    space.Remove(i);