我有一個列表,獲取來自操作的一些數據,我將它存儲在內存緩存中。現在我需要另一個列表,其中包含基於某些條件的列表中的一些子數據。如何在不更改原始列表的情況下更改我的新列表?
從下面的代碼可以看出,我在目標列表上做了一些操作。問題是,我對目標列表所做的任何更改也正在對mainList進行。我認爲它的參考是相同的或某事。
我所需要做的就是對目標列表的操作不會影響主列表中的數據。
List<Item> target = mainList;
SomeOperationFunction(target);
void List<Item> SomeOperationFunction(List<Item> target)
{
target.removeat(3);
return target;
}
你是說在兩個列表中存在的對象都被修改?即你需要克隆()/創建它們的副本,而不是在相同的實例上工作? – Oli