我有一个列表,其中填充了一些操作的数据,并将其存储在内存缓存中。现在我想要另一个列表,它包含基于某些条件从列表中获取的一些子数据。
如下面的代码所示,我正在对目标列表进行一些操作。问题是,无论我对目标列表做出什么更改,也会对主列表(mainList)进行更改。我认为这是因为引用是相同的或类似的原因。
我只需要在目标列表上操作不会影响到主列表(mainList)中的数据。
List<Item> target = mainList;
SomeOperationFunction(target);
void List<Item> SomeOperationFunction(List<Item> target)
{
target.removeat(3);
return target;
}