static List<Stock> _listStock;
static List<Stock> _listStockTemp;
 _listStock = new List<Stock>();
_listStockTemp = new List<Stock>();      
 _listStock = StockComponent.Instance.GetLast2(ou.Guid, strWPMC, _listStock, 1);
Stock[] s = new Stock[_listStock.Count];
_listStock.CopyTo(s);
_listStockTemp.AddRange(s);
怎么_listStock值改变了, _listStockTemp的值也跟着变啊

解决方案 »

  1.   

    _listStock.CopyTo(s);
    _listStockTemp.AddRange(s);
    你都执行这两句了,能不跟这变吗
      

  2.   

    如果Stock是引用类型,它的数据变化了,当然所有包含该引用的都将看到它的变化。
      

  3.   

    Stock是引用类型数据,_listStock,_listStockTemp和s 相当于指针都指向的是同一个东西,删除其中一个的其它也会跟着变。
      

  4.   

     StockComponent.Instance.GetLast2()
    你应该贴出该方法的具体代码~
    里面应该有写着
    _listStock= _listStockTemp的语句吧~
      

  5.   

    StockComponent.Instance.GetLast2()
    你应该贴出该方法的具体代码~
    里面应该有写着
    _listStock= _listStockTemp的语句吧~
     
    没有_listStock= _listStockTemp
      

  6.   

     google 深复制(deep copy)和浅复制(shallow copy)