我有一个列表,获取来自操作的一些数据,我将它存储在内存缓存中。现在我需要另一个列表,其中包含基于某些条件的列表中的一些子数据。如何在不更改原始列表的情况下更改我的新列表?
从下面的代码可以看出,我在目标列表上做了一些操作。问题是,我对目标列表所做的任何更改也正在对mainList进行。我认为它的参考是相同的或某事。
我所需要做的就是对目标列表的操作不会影响主列表中的数据。
List<Item> target = mainList;
SomeOperationFunction(target);
void List<Item> SomeOperationFunction(List<Item> target)
{
target.removeat(3);
return target;
}
你是说在两个列表中存在的对象都被修改?即你需要克隆()/创建它们的副本,而不是在相同的实例上工作? – Oli