我有两个清单。当我将List1
分配给List2
并更新List1
时,List2
也会自动更新。 List2
不应该更新。为什么会这样?
这是我的代码:
public List<TrialBalance> TBal { get; set; }
public List<TrialBalance> PrevTBal { get; private set; }
if (this.PrevTBal == null)
{
this.PrevTBal = this.TBal;
}
for (int x = 0; x < this.TBal.Count; x++)
{
this.TBal[x].Balance = this.TBal[x].Balance + adjustments;
}
最佳答案
您仅分配引用,而不创建列表或列表中项目的副本。
您应该创建一个新列表并将所有项目添加到其中。
this.PrevTBal = new List<TrialBalance>(this.TBal.Select(b => clone(b));
关于c# - 将列表分配给另一个列表之前的列表会自动更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20694397/